diff --git a/lang/en_utf8/assignment.php b/lang/en_utf8/assignment.php index 69233bea2a5..c55d018ffdb 100644 --- a/lang/en_utf8/assignment.php +++ b/lang/en_utf8/assignment.php @@ -117,6 +117,7 @@ $string['submitedformarking'] = 'Assignment was already submitted for marking an $string['submitformarking'] = 'Final submission for assignment marking'; $string['submitted'] = 'Submitted'; $string['submittedfiles'] = 'Submitted files'; +$string['trackdrafts'] = 'Enable Send for marking'; $string['typeoffline'] = 'Offline activity'; $string['typeonline'] = 'Online text'; $string['typeupload'] = 'Advanced uploading of files'; diff --git a/lang/en_utf8/help/assignment/trackdrafts.html b/lang/en_utf8/help/assignment/trackdrafts.html new file mode 100644 index 00000000000..f8663c52fe6 --- /dev/null +++ b/lang/en_utf8/help/assignment/trackdrafts.html @@ -0,0 +1,3 @@ +
Send for marking button allows students to indicate that they finished working on assignment. Teacher may also prevent further submission or revert to draft.
diff --git a/mod/assignment/db/upgrade.php b/mod/assignment/db/upgrade.php index a5b8101213a..e49afc37596 100644 --- a/mod/assignment/db/upgrade.php +++ b/mod/assignment/db/upgrade.php @@ -49,6 +49,12 @@ function xmldb_assignment_upgrade($oldversion=0) { $result = $result && change_field_notnull($table, $field); } + if ($result && $oldversion < 2007091902) { + // add draft tracking default to existing upload assignments + $sql = "UPDATE {$CFG->prefix}assignment SET var4=1 WHERE assignmenttype='upload'"; + $result = execute_sql($sql); + } + return $result; } diff --git a/mod/assignment/type/upload/assignment.class.php b/mod/assignment/type/upload/assignment.class.php index 3d02b463a7d..40d6aeae6bb 100644 --- a/mod/assignment/type/upload/assignment.class.php +++ b/mod/assignment/type/upload/assignment.class.php @@ -42,7 +42,7 @@ class assignment_upload extends assignment_base { $this->view_feedback(); - if (!$this->isopen() or $this->is_finalized($submission)) { + if (!$this->drafts_tracked() or !$this->isopen() or $this->is_finalized($submission)) { print_heading(get_string('submission', 'assignment'), '', 3); } else { print_heading(get_string('submissiondraft', 'assignment'), '', 3); @@ -202,7 +202,7 @@ class assignment_upload extends assignment_base { } else if (!$this->isopen()) { print_heading(get_string('nomoresubmissions','assignment'), '', 3); - } else if ($state = $this->is_finalized($submission)) { + } else if ($this->drafts_tracked() and $state = $this->is_finalized($submission)) { if ($state == ASSIGNMENT_STATUS_SUBMITTED) { print_heading(get_string('submitedformarking','assignment'), '', 3); } else { @@ -272,7 +272,7 @@ class assignment_upload extends assignment_base { $output = ''; if ($basedir = $this->file_area($userid)) { - if ($this->isopen() and !$this->is_finalized($submission)) { + if ($this->drafts_tracked() and $this->isopen() and !$this->is_finalized($submission)) { $output .= ''.get_string('draft', 'assignment').': '; } @@ -327,7 +327,7 @@ class assignment_upload extends assignment_base { $candelete = $this->can_delete_files($submission); $strdelete = get_string('delete'); - if ($this->isopen() and !$this->is_finalized($submission) and !empty($mode)) { // only during grading + if ($this->drafts_tracked() and $this->isopen() and !$this->is_finalized($submission) and !empty($mode)) { // only during grading $output .= ''.get_string('draft', 'assignment').':