diff --git a/mod/exercise/assessments.php b/mod/exercise/assessments.php index 0d01c8d0540..65b2a0fdae8 100644 --- a/mod/exercise/assessments.php +++ b/mod/exercise/assessments.php @@ -7,6 +7,7 @@ admindelete adminlist adminlistbystudent + assessresubmission assesssubmission displaygradingform editelements (teachers only) diff --git a/mod/exercise/lib.php b/mod/exercise/lib.php index 4b24a49aaaa..3f01aeb964c 100644 --- a/mod/exercise/lib.php +++ b/mod/exercise/lib.php @@ -546,6 +546,7 @@ function exercise_user_outline($course, $user, $mod, $exercise) { return NULL; } + /*******************************************************************/ function exercise_get_participants($exerciseid) { //Returns the users with data in one exercise @@ -1723,6 +1724,11 @@ function exercise_list_unassessed_student_submissions($exercise, $user) { foreach ($assessments as $assessment) { if (isteacher($course->id, $assessment->userid)) { $teacherassessed = true; + if (!$teacher = get_record("user", "id", $assessment->userid)) { + error("List unassessed student submissions: teacher record not found"); + } + $comment = get_string("resubmissionfor", "exercise", + "$teacher->firstname $teacher->lastname"); if ($assessment->timecreated > $timenow - $CFG->maxeditingtime) { $warm = true; } @@ -1739,6 +1745,34 @@ function exercise_list_unassessed_student_submissions($exercise, $user) { } if (!$teacherassessed) { // no teacher's assessment + // find who did the previous assessment + if (!$submissions = exercise_get_user_submissions($exercise, $submissionowner)) { + error("List unassessed student submissions: submission records not found"); + } + // get the last but one submission (prevsubmission) + $n = 0; + foreach ($submissions as $tempsubmission) { + if ($n == 1) { + $prevsubmission = $tempsubmission; + break; + } + $n++; + } + // get the teacher's assessment of the student's previous submission + if ($assessments = get_records("exercise_assessments", "submissionid", + $prevsubmission->id)) { + foreach ($assessments as $assessment) { + if (isteacher($course->id, $assessment->userid)) { + if (!$teacher = get_record("user", "id", $assessment->userid)) { + error("List unassessed student submissions: teacher record not found"); + } + $comment = get_string("resubmissionfor", "exercise", + "$teacher->firstname $teacher->lastname"); + break; // no need to look further + + } + } + } $action = "id&sid=$submission->id\">". get_string("assess", "exercise").""; $table->data[] = array(exercise_print_submission_title($exercise, $submission), diff --git a/mod/exercise/upload.php b/mod/exercise/upload.php index fca116a19b7..8731ba24a96 100644 --- a/mod/exercise/upload.php +++ b/mod/exercise/upload.php @@ -22,8 +22,6 @@ require_login($course->id); - add_to_log($course->id, "exercise", "submit", "view.php?id=$cm->id", "$exercise->id"); - if ($course->category) { $navigation = "id\">$course->shortname ->"; } @@ -64,6 +62,7 @@ error("Sorry, an error in the system prevents you from uploading files: contact your teacher or system administrator"); } if (move_uploaded_file($newfile['tmp_name'], "$dir/$newfile_name")) { + add_to_log($course->id, "exercise", "submit", "view.php?id=$cm->id", "$exercise->id"); print_heading(get_string("uploadsuccess", "assignment", $newfile_name) ); } else {