Fix to the Complete isting. Upload now checks the submission for spurious re-submission caused by using the Back button. User and Teacher deletions of submissions are now logged. Redirect delay when marking submissions shortened to one second.
This commit is contained in:
@@ -785,9 +785,9 @@
|
||||
|
||||
// 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);
|
||||
@@ -998,9 +998,9 @@
|
||||
|
||||
// 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);
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -132,6 +132,7 @@
|
||||
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");
|
||||
}
|
||||
@@ -327,6 +328,7 @@
|
||||
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");
|
||||
}
|
||||
|
||||
+18
-2
@@ -4,6 +4,7 @@
|
||||
require("lib.php");
|
||||
|
||||
require_variable($id); // course module ID
|
||||
$timenow = time();
|
||||
|
||||
$newfile = $HTTP_POST_FILES["newfile"];
|
||||
|
||||
@@ -33,7 +34,22 @@
|
||||
"$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!");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user