Index: openacs-4/packages/assessment/tcl/as-assessment-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/tcl/as-assessment-procs.tcl,v diff -u -r1.12 -r1.13 --- openacs-4/packages/assessment/tcl/as-assessment-procs.tcl 14 Jan 2005 13:13:37 -0000 1.12 +++ openacs-4/packages/assessment/tcl/as-assessment-procs.tcl 18 Jan 2005 12:42:36 -0000 1.13 @@ -272,6 +272,24 @@ return $section_list } +ad_proc -public as::assessment::calculate { + -assessment_id:required + -session_id:required +} { + @author Timo Hentschel (timo@timohentschel.de) + @creation-date 2005-01-14 + + Award points to this assessment if all sections are filled out +} { + if {[db_string check_sections_calculated {}] > 0} { + return + } + + db_1row sum_of_section_points {} + set percent_score [expr round(100 * $section_points / $section_max_points)] + db_dml update_assessment_percent {} +} + ad_proc as::assessment::pretty_time { {-seconds} } { @@ -358,3 +376,20 @@ return "$title" } } + +ad_proc -private as::assessment::compare_numbers {a b} { + @author Timo Hentschel (timo@timohentschel.de) + @creation-date 2005-01-18 + + Compares the first part of a pair of strings as numbers +} { + set a0 [expr double([lindex [lindex $a 0] 0])] + set b0 [expr double([lindex [lindex $b 0] 0])] + if {$a0 > $b0} { + return 1 + } elseif {$a0 == $b0} { + return 0 + } else { + return -1 + } +}