]> git.mjollnir.org Git - moodle.git/commitdiff
Fix to the Complete isting. Upload now checks the submission for spurious re-submissi...
authorrkingdon <rkingdon>
Sat, 1 Nov 2003 17:25:13 +0000 (17:25 +0000)
committerrkingdon <rkingdon>
Sat, 1 Nov 2003 17:25:13 +0000 (17:25 +0000)
mod/exercise/assessments.php
mod/exercise/lib.php
mod/exercise/submissions.php
mod/exercise/upload.php

index 72d85a57cad525d6df0fe2093f6d611109c58e02..d4b7d3ffef1e8d85430bfab25a08180a26d6fec5 100644 (file)
                        
                // show grade if grading strategy is not zero
                if ($exercise->gradingstrategy) {
-                       redirect($returnto, get_string("thegradeis", "exercise").": ".
+                       redirect($returnto, "<p align=\"center\"><b.".get_string("thegradeis", "exercise").": ".
                 number_format($grade * $exercise->grade / 100.0, 1)."% (".get_string("maximumgrade").
-                               " ".number_format($exercise->grade)."%)");
+                               " ".number_format($exercise->grade)."%)</b></p>", 1);
                        }
                else {
                        redirect($returnto);
                        
                // show grade if grading strategy is not zero
                if ($exercise->gradingstrategy) {
-                       redirect($returnto, get_string("thegradeis", "exercise").": ".
+                       redirect($returnto, "<p align=\"center\"><b>".get_string("thegradeis", "exercise").": ".
                 number_format($grade * $exercise->grade / 100.0, 1)."% (".get_string("maximumgrade").
-                               " ".number_format($exercise->grade)."%)");
+                               " ".number_format($exercise->grade)."%)</b></p>", 1);
                        }
                else {
                        redirect($returnto);
index 9b22a7498d76e2e60ed2d7086f592d6d479ac4d4..33c5be87682bb391b19c82948deda4d52be96873 100644 (file)
@@ -521,11 +521,16 @@ function exercise_user_complete($course, $user, $mod, $exercise) {
                        if ($assessments = exercise_get_assessments($submission)) {
                                // should only be one but we'll loop anyway
                                foreach ($assessments as $assessment) {
-                                       $table->data[] = array(exercise_print_submission_title($exercise, $submission), userdate($submission->timecreated), 
-                                               userdate($assessment->timecreated), $assessment->grade * $exercise->grade / 100.0);
-                                       }
+                                       $table->data[] = array(exercise_print_submission_title($exercise, $submission), 
+                            userdate($submission->timecreated), userdate($assessment->timecreated), 
+                            $assessment->grade * $exercise->grade / 100.0);
                                }
-                       }
+                       } else {
+                // submission not yet assessed (by teacher)
+                               $table->data[] = array(exercise_print_submission_title($exercise, $submission), 
+                        userdate($submission->timecreated), get_string("notassessedyet", "exercise"), 0);
+            }
+        }
                print_table($table);
            print_simple_box_end();
     } else {
index 61669d95a2f18635629d64aaf5c855eef5cbe737..c6f24f27eddfb3fe76cb99b4f0216a4582167b38 100644 (file)
                delete_records("exercise_submissions", "id", $submission->id);
                // ..and finally the submitted file
                exercise_delete_submitted_files($exercise, $submission);
+        add_to_log($course->id, "exercise", "delete", "view.php?id=$cm->id", "submission $submission->id");
                
                print_continue("submissions.php?id=$cm->id&action=adminlist");
                }
                delete_records("exercise_submissions", "id", $submission->id);
                // ..and finally the submitted file
                exercise_delete_submitted_files($exercise, $submission);
+        add_to_log($course->id, "exercise", "delete", "view.php?id=$cm->id", "submission $submission->id");
                
                print_continue("view.php?id=$cm->id");
                }
index 8731ba24a965b795b6e08c60a34ba8d8b996cd31..df8810aeb2f5d544952461386bd2a946dcddbd6a 100644 (file)
@@ -4,6 +4,7 @@
     require("lib.php");
 
     require_variable($id);          // course module ID
+    $timenow = time();
 
     $newfile = $HTTP_POST_FILES["newfile"];
 
                  "$navigation <A HREF=index.php?id=$course->id>$strexercises</A> -> 
                   <A HREF=\"view.php?id=$cm->id\">$exercise->name</A> -> $strupload", 
                   "", "", true);
-       if (!$title = $_POST['title']) {
+
+    // 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();
+            }
+        }
+    }
+                    
+    // check existence of title
+    if (!$title = $_POST['title']) {
                notify(get_string("notitlegiven", "exercise") );
                }
        else {  
@@ -54,7 +70,7 @@
                                                $newsubmission->userid         = $USER->id;
                                                }
                                        $newsubmission->title  = $title;
-                                       $newsubmission->timecreated  = time();
+                                       $newsubmission->timecreated  = $timenow;
                                        if (!$newsubmission->id = insert_record("exercise_submissions", $newsubmission)) {
                                                error("exercise upload: Failure to create new submission record!");
                                                }