summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEugeniy Mikhailov <evgmik@gmail.com>2011-03-11 13:07:54 -0500
committerEugeniy Mikhailov <evgmik@gmail.com>2011-03-11 13:07:54 -0500
commit22ce8595cd7fb52149edd42e7282a3b6d86080f4 (patch)
treec25d6d3e17dd7596a7fa1d6182ad57b4889e2e55
parent556ac6d8e26de0b60d7652bed09c6dff5a474144 (diff)
downloadGradeBook-22ce8595cd7fb52149edd42e7282a3b6d86080f4.tar.gz
GradeBook-22ce8595cd7fb52149edd42e7282a3b6d86080f4.zip
bug fix in grand total weight calculation
Ignore-this: 304e9c352c7227681030630aad690ec3 darcs-hash:20110311180754-067c0-bfefaa6a47811d6a9a9ed318f8414b5ea7209f2e.gz
-rwxr-xr-xGradeBook_lib.tcl9
1 files changed, 8 insertions, 1 deletions
diff --git a/GradeBook_lib.tcl b/GradeBook_lib.tcl
index d0e4fad..170e3dc 100755
--- a/GradeBook_lib.tcl
+++ b/GradeBook_lib.tcl
@@ -180,12 +180,19 @@ proc calculteWeightedTotals { } {
AddColumnNonWeb $grand_total_col_name weighted_column 0
}
foreach student $students_list {
- set grand_total($student) 0
+ set grand_total($student) 0
foreach {category weight} [getGradingWeights] {
if { ![info exist max_points($category)] } {
set tmpList [ calculteMaxPointsInCategory $category ]
set max_points($category) [lindex $tmpList 0]
}
+ if { ![info exist points_sum($category,$student)] } {
+ set points_sum($category,$student) [ calculteSumOfPointsForStudentInCategory $student $category ]
+ if { $max_points($category) != 0 } {
+ # normalizing
+ set points_sum($category,$student) [expr { 1. * $points_sum($category,$student) / $max_points($category) } ]
+ }
+ }
if { $max_points($category) == 0} {
dbg "Category: $category has 0 for total maximum points. Skipping it." 4
continue