Skip to content

Commit e1f08b1

Browse files
authored
Merge pull request #2966 from somiaj/bugfix-credit-set-items
Fix division by zero in {Full,Half}CreditSet Items.
2 parents dfcd6e0 + 507ba4d commit e1f08b1

2 files changed

Lines changed: 4 additions & 0 deletions

File tree

lib/WeBWorK/AchievementItems/FullCreditSet.pm

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ sub can_use ($self, $set, $records, $c) {
2525
$grade += $problem->status * $problem->value;
2626
$total += $problem->value;
2727
}
28+
return 0 unless $total;
29+
2830
$self->{old_grade} = 100 * wwRound(2, $grade / $total);
2931
return $self->{old_grade} == 100 ? 0 : 1;
3032
}

lib/WeBWorK/AchievementItems/HalfCreditSet.pm

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@ sub can_use ($self, $set, $records, $c) {
2727
$new_grade += ($problem->status > 0.5 ? 1 : $problem->status + 0.5) * $problem->value;
2828
$total += $problem->value;
2929
}
30+
return 0 unless $total;
31+
3032
$self->{old_grade} = 100 * wwRound(2, $old_grade / $total);
3133
$self->{new_grade} = 100 * wwRound(2, $new_grade / $total);
3234
return $self->{old_grade} == 100 ? 0 : 1;

0 commit comments

Comments
 (0)