Index: openacs-4/packages/evaluation/www/admin/grades/grades-type-reports-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/evaluation/www/admin/grades/grades-type-reports-postgresql.xql,v diff -u -r1.7 -r1.8 --- openacs-4/packages/evaluation/www/admin/grades/grades-type-reports-postgresql.xql 13 Aug 2004 17:09:55 -0000 1.7 +++ openacs-4/packages/evaluation/www/admin/grades/grades-type-reports-postgresql.xql 10 Sep 2004 19:16:32 -0000 1.8 @@ -7,8 +7,8 @@ select et.task_id, et.task_name, et.weight - from evaluation_tasksi et, evaluation_grades eg - where content_revision__is_live(et.task_id) = true + from evaluation_tasksi et, evaluation_grades eg, cr_items cri + where cri.live_revision = et.task_id and eg.grade_id = :grade_id and eg.grade_item_id = et.grade_item_id order by task_name @@ -35,10 +35,8 @@ cu.user_id $sql_query from cc_users cu, - registered_users ru, dotlrn_member_rels_approved app where app.community_id = :community_id - and app.user_id = ru.user_id and app.user_id = cu.person_id and app.role = 'student' $orderby @@ -49,16 +47,67 @@ - , [lc_numeric trunc(evaluation__task_grade(cu.user_id,$task_id),2)] as task_$task_id + , round((select coalesce((select (ese.grade*et.weight*eg.weight)/10000 + from evaluation_student_evals ese, evaluation_tasks et, evaluation_grades eg, + cr_items cri1, cr_items cri2 + where party_id = + ( select + CASE + WHEN et3.number_of_members = 1 THEN cu.user_id + ELSE + (select etg2.group_id from evaluation_task_groups etg2, + evaluation_tasks et2, + acs_rels map + where map.object_id_one = etg2.group_id + and map.object_id_two = cu.user_id + and etg2.task_item_id = et2.task_item_id + and et2.task_id = et.task_id) + END as nom + from evaluation_tasks et3 + where et3.task_id = et.task_id + ) + and et.task_id = $task_id + and ese.task_item_id = et.task_item_id + and et.grade_item_id = eg.grade_item_id + and cri1.live_revision = ese.evaluation_id + and cri2.live_revision = eg.grade_id),0)),2) as task_${task_id} +-- , [lc_numeric trunc(evaluation__task_grade(cu.user_id,$task_id),2)] as task_$task_id + - , [lc_numeric trunc(evaluation__grade_total_grade(cu.user_id,:grade_id),2)] as total_grade + , round((select coalesce((select sum((ese.grade*et.weight*eg.weight)/10000) + from evaluation_grades eg, evaluation_tasks et, evaluation_student_evals ese + where et.task_item_id = ese.task_item_id + and et.grade_item_id = eg.grade_item_id + and eg.grade_id = $grade_id + and ese.party_id = + ( select + CASE + WHEN et3.number_of_members = 1 THEN cu.user_id + ELSE + (select etg2.group_id from evaluation_task_groups etg2, + evaluation_tasks et2, + acs_rels map + where map.object_id_one = etg2.group_id + and map.object_id_two = cu.user_id + and etg2.task_item_id = et2.task_item_id + and et2.task_id = et.task_id) + END as nom + from evaluation_tasks et3 + where et3.task_id = et.task_id + ) + and et.requires_grade_p = 't' + and exists (select 1 from cr_items where live_revision = et.task_id) + and exists (select 1 from cr_items where live_revision = ese.evaluation_id)),0)),2) as total_grade +-- , 1 as total_grade +-- , [lc_numeric trunc(evaluation__grade_total_grade(cu.user_id,:grade_id),2)] as total_grade +