mirror of
https://github.com/moodle/moodle.git
synced 2025-01-31 12:45:04 +01:00
Fix multiple-choice multiple-answer grading code. Merged from MOODLE_17_STABLE.
This commit is contained in:
parent
b6fd063054
commit
f38ceee677
@ -346,12 +346,11 @@ class question_multichoice_qtype extends default_questiontype {
|
||||
}
|
||||
|
||||
function grade_responses(&$question, &$state, $cmoptions) {
|
||||
$state->raw_grade = 0;
|
||||
if($question->options->single) {
|
||||
$response = reset($state->responses);
|
||||
if ($response) {
|
||||
$state->raw_grade = $question->options->answers[$response]->fraction;
|
||||
} else {
|
||||
$state->raw_grade = 0;
|
||||
}
|
||||
} else {
|
||||
foreach ($state->responses as $response) {
|
||||
@ -360,10 +359,11 @@ class question_multichoice_qtype extends default_questiontype {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Make sure we don't assign negative or too high marks
|
||||
$state->raw_grade = min(max((float) $state->raw_grade,
|
||||
0.0), 1.0) * $question->maxgrade;
|
||||
|
||||
// Apply the penalty for this attempt
|
||||
$state->penalty = $question->penalty * $question->maxgrade;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user