The following changes were made to help reduce confusion for students when essay questions are being used in a quiz.

- When a essay question has been submitted or being reviewed and has not been graded by the instructor, then the Marks are not shown and displays a message to the student instead of saying Incorrect. (changes to questiontypes/questiontype.php in functions print_question and print_question_grading_details).

    - For students, in view.php, a notice is printed to inform him/her that s/he has ungraded essay question(s).
    - For teachers, in view.php, a notice is printed to inform him/her that s/he has X number of ungraded essays for X number of studnets

    - In review.php, next to the grade output, informs the viewer if X number of ungraded essays in this attempt.

    - In questiontypes/essay/questiontype.php created a utility function to generate the numbers used in the above changes.

    - In lang/en/quiz.php added new lang entries.

So, hopefully the student will now understand that their grade does not include the ungraded essay questions.  Modification of lang entries might be needed to further drive this point.
This commit is contained in:
michaelpenne 2006-02-13 20:27:34 +00:00
parent d8ed413b92
commit b9376ebef0
5 changed files with 116 additions and 4 deletions

View file

@ -124,6 +124,19 @@
notify("<a href=\"report.php?mode=overview&amp;id=$cm->id\">$strviewallanswers ($usercount $strusers)</a>");
}
if ($users = get_course_students($course->id)) {
list($ungradedessays, $usercount) = $QUIZ_QTYPES[ESSAY]->get_ungraded_count($quiz, $users);
if ($ungradedessays) {
$a = new stdClass;
$a->ungradedessays = $ungradedessays;
$a->usercount = $usercount;
$a->students = $strusers;
notify("<a href=\"grading.php?quizid=$quiz->id\">".get_string('viewessaystograde', 'quiz', $a).'</a>');
}
}
echo '</td></tr></table>';
print_footer($course);
exit;
@ -169,6 +182,12 @@
/// Now print table with existing attempts
if ($numattempts) {
/// notify the student of ungraded essays
list($ungradedessays, $usercount) = $QUIZ_QTYPES[ESSAY]->get_ungraded_count($quiz);
if ($ungradedessays) {
notify(get_string('youhaveungradedessays', 'quiz', $ungradedessays));
}
/// prepare table header
if ($quiz->grade and $quiz->sumgrades) { // Grades used so have more columns in table
if ($quiz->grade <> $quiz->sumgrades) {