]> git.mjollnir.org Git - moodle.git/commitdiff
Fixes to Backup and upload (now allows teachers multiple uploads in a
authorrkingdon <rkingdon>
Fri, 23 Jan 2004 17:02:47 +0000 (17:02 +0000)
committerrkingdon <rkingdon>
Fri, 23 Jan 2004 17:02:47 +0000 (17:02 +0000)
short period)

mod/exercise/backuplib.php
mod/exercise/lib.php
mod/exercise/upload.php

index 78b894ddff6e8a15ae0b0ba11c772aba175a304c..9e41a87ebe1c43b594a0c54d23a319c38cd8b3a2 100644 (file)
                 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);
index 488e7847fd256153914895c3ee0a107738a825d9..05368cdcb147ad228d3be1d6e614a73a4030ca10 100644 (file)
@@ -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);
                        }
index f2782b18aa76d4d553f5f4b31786f46326061824..eba8794de105572a7daaa7397bd659a4201d804d 100644 (file)
                   "", "", 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();
+                }
             }
         }
     }