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
+