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 {