Index: openacs-4/packages/evaluation/www/admin/grades/grades.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/evaluation/www/admin/grades/grades.tcl,v diff -u -r1.15 -r1.16 --- openacs-4/packages/evaluation/www/admin/grades/grades.tcl 24 May 2005 10:42:45 -0000 1.15 +++ openacs-4/packages/evaluation/www/admin/grades/grades.tcl 8 Aug 2006 21:26:42 -0000 1.16 @@ -1,74 +1,97 @@ # /packages/evaluation/www/admin/grades/grades.tcl ad_page_contract { - + List of grades and options to admin grades - + @author jopez@galileo.edu @creation-date Feb 2004 @cvs-id $Id$ - } -query { {orderby:optional} + {set_grade_id_live:optional ""} } set context [list "[_ evaluation.Grades_]"] set package_id [ad_conn package_id] +set simple_p [parameter::get -parameter "SimpleVersion"] +set class "list" +set aggregate "" +set bulk_actions [list "[_ evaluation.Add_assignment_type_]" [export_vars -base "grades-add-edit" { }]] set page_title "[_ evaluation.lt_Admin_Assignment_Type]" set return_url [ad_conn url] +set total 0 +set a_label [_ evaluation.total_of_course] +set actions "[_ evaluation.Add_assignment_type_]" -set actions [list "[_ evaluation.Add_assignment_type_]" [export_vars -base "grades-add-edit" { }]] +if { ![empty_string_p $set_grade_id_live] } { + evaluation::set_live_grade -grade_item_id $set_grade_id_live +} if { [lc_numeric %2.f [db_string sum_grades { *SQL* }]] > 100.00} { - set aggregate_label "[_ evaluation.Total_]" + set aggregate_label "[_ evaluation.Total_d]" } else { - set aggregate_label "[_ evaluation.Total_]" + set aggregate_label "[_ evaluation.Total_d]" } +if { !$simple_p } { + set aggregate_label "" + set aggregate "sum" + set total "Total" + set a_label "" +} else { + set class "pbs_list" + set bulk_actions "" +} + + template::list::create \ -name grades \ -multirow grades \ - -actions $actions \ -key grade_id \ - -pass_properties { return_url aggregate_label } \ + -actions $bulk_actions \ + -main_class $class \ + -sub_class narrow \ + -pass_properties { return_url aggregate_label total a_label aggregate} \ -elements { grade_plural_name { - label "[_ evaluation.Name_]" + label "[_ evaluation.name]" orderby_asc {grade_plural_name asc} orderby_desc {grade_plural_name desc} link_url_eval {[export_vars -base "distribution-edit" { grade_id }]} link_html { title "View assignment type distribution" } + aggregate "" + aggregate_label {@aggregate_label;noquote@} } weight { label "[_ evaluation.lt_Weight_over_100_br__o]" orderby_asc {weight asc} orderby_desc {weight desc} display_template { @grades.weight@% } - aggregate sum - aggregate_label { @aggregate_label;noquote@ } + aggregate "$aggregate" + aggregate_label {@total;noquote@} } comments { - label "[_ evaluation.Description_]" + label "[_ evaluation.description]" orderby_asc {comments asc} orderby_desc {comments desc} + aggregate "" + aggregate_label {@a_label;noquote@} + } edit { label {} sub_class narrow - display_template { - + display_template {[_ evaluation-portlet.edit] } link_url_eval {[export_vars -base "grades-add-edit" { item_id grade_id }]} link_html { title "[_ evaluation.lt_Edit_assignment_type_]" } } delete { label {} sub_class narrow - display_template { - - } - link_url_eval {[export_vars -base "grades-delete" { grade_id return_url }]} + display_template {@grades.delete_template;noquote@} link_html { title "[_ evaluation.lt_Delete_assignment_typ]" } } } @@ -79,15 +102,26 @@ set orderby " order by grade_plural_name asc" } -db_multirow grades get_class_grades { *SQL* } { - set weight [lc_numeric %.2f $weight] + +db_multirow -extend { delete_template } grades get_class_grades { *SQL* } { + if { $simple_p } { + set total [expr $total + $weight] + } + if { [empty_string_p $live_revision] } { + set delete_template "[_ evaluation.Deleted] [_ evaluation.make_it_live]" + } elseif { $simple_p } { + set delete_template "[_ evaluation-portlet.Delete]" + } else { + set delete_template "" + } } db_1row get_total_weight { *SQL* } -set total_weight [format %.2f $total_weight] +set total_weight [lc_numeric %.2f $total_weight] -if { ![string eq $total_weight "100.00"] && ![string eq $total_weight "0"] } { + +if { ($total_weight < 100 && $total_weight > 0) || $total_weight > 100} { set notice "[_ evaluation.lt_The_sum_of_the_weight]" } else { set notice ""