From: rkingdon <rkingdon> Date: Fri, 23 Jan 2004 17:02:47 +0000 (+0000) Subject: Fixes to Backup and upload (now allows teachers multiple uploads in a X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=2e855d5f052084ef1469374d5557dfb4e33a2a64;p=moodle.git Fixes to Backup and upload (now allows teachers multiple uploads in a short period) --- diff --git a/mod/exercise/backuplib.php b/mod/exercise/backuplib.php index 78b894ddff..9e41a87ebe 100644 --- a/mod/exercise/backuplib.php +++ b/mod/exercise/backuplib.php @@ -173,6 +173,7 @@ fwrite ($bf,full_tag("RESUBMIT",6,false,$submission->resubmit)); fwrite ($bf,full_tag("MAILED",6,false,$submission->mailed)); fwrite ($bf,full_tag("ISEXERCISE",6,false,$submission->isexercise)); + fwrite ($bf,full_tag("LATE",6,false,$submission->late)); //Now we backup any exercise assessments (if student data required) if ($preferences->mods["exercise"]->userinfo) { $status = backup_exercise_assessments($bf,$preferences,$exerciseid,$submission->id); diff --git a/mod/exercise/lib.php b/mod/exercise/lib.php index 488e7847fd..05368cdcb1 100644 --- a/mod/exercise/lib.php +++ b/mod/exercise/lib.php @@ -1297,10 +1297,10 @@ function exercise_get_user_submissions($exercise, $user) { error("Course is misconfigured"); } if (isteacher($course->id, $user->id)) { - return get_records_select("exercise_submissions ", + return get_records_select("exercise_submissions", "exerciseid = $exercise->id AND isexercise = 1", "timecreated" ); } - return get_records_select("exercise_submissions ", + return get_records_select("exercise_submissions", "exerciseid = $exercise->id AND userid = $user->id", "timecreated" ); } @@ -2005,7 +2005,7 @@ function exercise_list_user_submissions($exercise, $user) { $table->cellspacing = 0; if ($submissions = exercise_get_user_submissions($exercise, $user)) { - foreach ($submissions as $submission) { + foreach ($submissions as $submission) { $action = ''; $comment = ''; // allow user to delete submission if it's warm @@ -2013,30 +2013,33 @@ function exercise_list_user_submissions($exercise, $user) { $action = "<a href=\"submissions.php?action=userconfirmdelete&id=$cm->id&sid=$submission->id\">". get_string("delete", "exercise")."</a>"; } - // get the teacher assessments (could be more than one, if unlikely, when multiple teachers) - if ($assessments = get_records_select("exercise_assessments", "exerciseid = $exercise->id AND - submissionid = $submission->id")) { - foreach ($assessments as $assessment) { - // make sure it's real - if ($assessment->timecreated < $timenow - $CFG->maxeditingtime) { // it's cold - if ($action) { - $action .= " | "; - } - $action .= "<a href=\"assessments.php?action=viewassessment&id=$cm->id&aid=$assessment->id\">". - get_string("viewassessment", "exercise")."</a>"; - if ($comment) { - $action .= " | "; - } - $grade = number_format($assessment->grade * $exercise->grade / 100.0, 1); - if ($submission->late) { - $comment .= get_string("grade"). - ": <font color=\"red\">($grade)</font>"; - } else { - $comment .= get_string("grade").": $grade"; + // if this is a teacher's submission (an exercise descrription) ignore any assessments + if (!$submission->isexercise) { + // get the teacher assessments (could be more than one, if unlikely, when multiple teachers) + if ($assessments = get_records_select("exercise_assessments", "exerciseid = $exercise->id AND + submissionid = $submission->id")) { + foreach ($assessments as $assessment) { + // make sure it's real + if ($assessment->timecreated < $timenow - $CFG->maxeditingtime) { // it's cold + if ($action) { + $action .= " | "; + } + $action .= "<a href=\"assessments.php?action=viewassessment&id=$cm->id&aid=$assessment->id\">". + get_string("viewassessment", "exercise")."</a>"; + if ($comment) { + $action .= " | "; + } + $grade = number_format($assessment->grade * $exercise->grade / 100.0, 1); + if ($submission->late) { + $comment .= get_string("grade"). + ": <font color=\"red\">($grade)</font>"; + } else { + $comment .= get_string("grade").": $grade"; + } } } - } - } + } + } if (!$comment and isstudent($course->id, $user->id)) { $comment = get_string("awaitingassessmentbythe", "exercise", $course->teacher); } diff --git a/mod/exercise/upload.php b/mod/exercise/upload.php index f2782b18aa..eba8794de1 100644 --- a/mod/exercise/upload.php +++ b/mod/exercise/upload.php @@ -36,14 +36,17 @@ "", "", true); // check that this is not a "rapid" second submission, caused by using the back button - if ($submissions = exercise_get_user_submissions($exercise, $USER)) { - // returns all submissions, newest on first - foreach ($submissions as $submission) { - if ($submission->timecreated > $timenow - $CFG->maxeditingtime) { - // ignore this submission - redirect("view.php?id=$cm->id"); - print_footer($course); - exit(); + // only check if a student, teachers may want to submit a set of exercise variants + if (isstudent($course->id)) { + if ($submissions = exercise_get_user_submissions($exercise, $USER)) { + // returns all submissions, newest on first + foreach ($submissions as $submission) { + if ($submission->timecreated > $timenow - $CFG->maxeditingtime) { + // ignore this submission + redirect("view.php?id=$cm->id"); + print_footer($course); + exit(); + } } } }