Index: openacs-4/packages/evaluation/www/admin/grades/grades-reports.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/evaluation/www/admin/grades/grades-reports.tcl,v diff -u -r1.2 -r1.3 --- openacs-4/packages/evaluation/www/admin/grades/grades-reports.tcl 12 May 2004 02:07:45 -0000 1.2 +++ openacs-4/packages/evaluation/www/admin/grades/grades-reports.tcl 31 May 2004 17:04:58 -0000 1.3 @@ -2,54 +2,71 @@ ad_page_contract { - Grades reports of a group + Grades reports of a group - @creation-date Apr 2004 - @author jopez@galileo.edu - @cvs-id $Id$ + @creation-date Apr 2004 + @author jopez@galileo.edu + @cvs-id $Id$ } { - {orderby ""} + {orderby ""} } -validate { - grades_for_package { - if { [string eq [db_string package_grades { *SQL* }] 0] } { - ad_complain "There are no grades for this group." - } + grades_for_package { + if { [string eq [db_string package_grades { *SQL* }] 0] } { + ad_complain "There are no grades for this group." } + } } set page_title "Grades Report" set context "Grades Report" set package_id [ad_conn package_id] +# we have to decide if we are going to show all the users in the system +# or only the students of a given class (community in dotrln) +# in order to create the groups + +set community_id [dotlrn_community::get_community_id] +if { [empty_string_p $community_id] } { + set query_name grades_report +} else { + set query_name community_grades_report +} + set elements [list student_name \ - [list label "Name" \ - link_url_col student_url \ - orderby_asc {student_name asc} \ - orderby_desc {student_name desc}] \ - ] + [list label "Name" \ + link_url_col student_url \ + orderby_asc {student_name asc} \ + orderby_desc {student_name desc}] \ + ] db_foreach grade_type { *SQL* } { - lappend elements grade_$grade_id \ - [list label "$grade_name ($weight %)"] + set grade_label_${grade_id} "$grade_name ($weight %) " + append pass_grades " grade_label_${grade_id} " + lappend elements grade_$grade_id \ + [list label "@grade_label_${grade_id};noquote@" \ + orderby_asc {grade_$grade_id asc} \ + orderby_desc {grade_$grade_id desc} \ + ] - append sql_query [db_map grade_total_grade] + append sql_query [db_map grade_total_grade] } lappend elements total_grade \ - [list label "Total Grade" \ - orderby_asc {total_grade asc} \ - orderby_desc {total_grade desc} \ - ] + [list label "Total Grade" \ + orderby_asc {total_grade asc} \ + orderby_desc {total_grade desc} \ + ] append sql_query [db_map class_total_grade] template::list::create \ - -name grades_report \ - -multirow grades_report \ - -key grade_id \ - -elements $elements \ - -orderby { default_value student_name } + -name grades_report \ + -multirow grades_report \ + -key grade_id \ + -elements $elements \ + -pass_properties " $pass_grades " \ + -orderby { default_value student_name } if { ![empty_string_p $orderby] } { set orderby "[template::list::orderby_clause -orderby -name grades_report]" @@ -58,7 +75,7 @@ } - -db_multirow grades_report grades_report { *SQL* } { - + +db_multirow grades_report $query_name { *SQL* } { + }