Skip to content

Commit

Permalink
fix scoring for submission graded
Browse files Browse the repository at this point in the history
  • Loading branch information
milt committed Oct 23, 2024
1 parent 806ef87 commit 6307509
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 22 deletions.
24 changes: 10 additions & 14 deletions src/transformer/events/mod_assign/assignment_graded.php
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,8 @@ function assignment_graded(array $config, \stdClass $event) {
$scoreraw = (float) ($grade->grade ?: 0);
$scoremin = (float) ($gradeitems->grademin ?: 0);
$scoremax = (float) ($gradeitems->grademax ?: 0);
$validscore = ($scoremin <= $scoreraw && $scoreraw <= $scoremax) ? true : false;

$scorepass = (float) ($gradeitems->gradepass ?: null);

$success = false;
Expand All @@ -75,9 +77,6 @@ function assignment_graded(array $config, \stdClass $event) {
'verb' => utils\get_verb('scored', $config, $lang),
'object' => utils\get_activity\course_assignment($config, $event->contextinstanceid, $assignment->name, $lang),
'result' => [
'score' => [
'raw' => $scoreraw
],
'completion' => true,
'success' => $success
],
Expand All @@ -101,17 +100,14 @@ function assignment_graded(array $config, \stdClass $event) {
$statement['result']['response'] = $gradecomment;
}

// Only include min score if raw score is valid for that min.
if ($scoreraw >= $scoremin) {
$statement['result']['score']['min'] = $scoremin;
}
// Only include max score if raw score is valid for that max.
if ($scoreraw <= $scoremax) {
$statement['result']['score']['max'] = $scoremax;
}
// Calculate scaled score as the distance from zero towards the max (or min for negative scores).
if ($scoreraw >= 0) {
$statement['result']['score']['scaled'] = $scoreraw / $scoremax;
// only write a score if valid
if ($validscore) {
$statement['result']['score'] = [
'raw' => $scoreraw,
'min' => $scoremin,
'max' => $scoremax,
'scaled' => utils\get_scaled_score($scoreraw, $scoremin, $scoremax),
];
}

return [$statement];
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,10 @@
},
"result": {
"score": {
"raw": 1,
"min": 0,
"max": 2,
"scaled": 0.5
"raw": 1.0,
"min": 0.0,
"max": 2.0,
"scaled": 0.0
},
"completion": true,
"success": true,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,10 @@
},
"result": {
"score": {
"raw": 1,
"min": 0,
"max": 2,
"scaled": 0.5
"raw": 1.0,
"min": 0.0,
"max": 2.0,
"scaled": 0.0
},
"completion": true,
"success": true
Expand Down

0 comments on commit 6307509

Please sign in to comment.