Index: openacs-4/packages/evaluation/lib/student-grades-report-chunk-postgresql.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/evaluation/lib/student-grades-report-chunk-postgresql.xql,v
diff -u -r1.5 -r1.6
--- openacs-4/packages/evaluation/lib/student-grades-report-chunk-postgresql.xql 13 Aug 2004 17:09:53 -0000 1.5
+++ openacs-4/packages/evaluation/lib/student-grades-report-chunk-postgresql.xql 10 Sep 2004 19:16:28 -0000 1.6
@@ -6,7 +6,17 @@
- select evaluation__party_id(:student_id,:task_id)
+ select coalesce((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 = :student_id
+ and etg2.task_item_id = et2.task_item_id
+ and et2.task_id = :task_id),0)
+ from evaluation_tasks et3
+ where et3.task_id = :task_id
+
+-- select evaluation__party_id(:student_id,:task_id)
@@ -17,19 +27,19 @@
select et.task_name,
et.task_item_id,
+ eg.weight as g_weight,
eg.weight as grade_weight,
et.task_id,
- et.weight as task_weight,
+ et.weight as t_weight,
(et.weight*eg.weight)/100 as task_weight,
et.number_of_members,
to_char(et.due_date, 'YYYY-MM-DD HH24:MI:SS') as due_date_ansi,
et.online_p
from evaluation_grades eg,
- evaluation_tasks et
+ evaluation_tasks et, cr_items cri
where eg.grade_id = :grade_id
and eg.grade_item_id = et.grade_item_id
- and content_revision__is_live(et.task_id) = true
- and content_revision__is_live(eg.grade_id) = true
+ and cri.live_revision = et.task_id
@@ -46,12 +56,27 @@
select ea.answer_id
- from evaluation_answersi ea,
- evaluation_tasks et
- where content_revision__is_live(ea.answer_id) = true
- and ea.party_id = evaluation__party_id(:student_id,:task_id)
- and ea.task_item_id = et.task_item_id
- and et.task_id = :task_id
+ from evaluation_answers ea,
+ cr_items cri
+ where cri.live_revision = ea.answer_id
+ and ea.party_id =
+ ( select
+ CASE
+ WHEN et3.number_of_members = 1 THEN :student_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 = :student_id
+ and etg2.task_item_id = et2.task_item_id
+ and et2.task_id = :task_id)
+ END as nom
+ from evaluation_tasks et3
+ where et3.task_id = :task_id
+ )
+--evaluation__party_id(:student_id,:task_id)
+ and ea.task_item_id = :task_item_id
@@ -61,15 +86,33 @@
select ese.grade,
ese.description as comments,
- (ese.grade*:task_weight*:grade_weight)/10000 as net_grade,
+ (ese.grade*:t_weight*:g_weight)/10000 as net_grade,
person__name(ese.creation_user) as grader_name
from evaluation_student_evalsi ese,
+ cr_items cri,
evaluation_tasks et
where ese.task_item_id = et.task_item_id
- and content_revision__is_live(ese.evaluation_id) = true
- and ese.party_id = evaluation__party_id(:student_id,:task_id)
- and et.task_id = :task_id
+ and et.task_id = :task_id
+ and cri.live_revision = ese.evaluation_id
+ and ese.party_id =
+ ( select
+ CASE
+ WHEN et3.number_of_members = 1 THEN :student_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 = :student_id
+ and etg2.task_item_id = et2.task_item_id
+ and et2.task_id = :task_id)
+ END as nom
+ from evaluation_tasks et3
+ where et3.task_id = :task_id
+ )
+-- evaluation__party_id(:student_id,:task_id)
+