Skip to content

Commit

Permalink
MDL-30957 Adding a new method "is_complete" to assignment lib for
Browse files Browse the repository at this point in the history
testing if a submission has actually been submitted and then adding a
call to it before displaying the the assignment submission date header

As recommended I've simplified the functions and split the logic out into appropriate upload classes.
  • Loading branch information
Gerard (Gerry) Caulfield committed Feb 20, 2012
1 parent e0d5a17 commit d773f37
Show file tree
Hide file tree
Showing 3 changed files with 38 additions and 1 deletion.
15 changes: 14 additions & 1 deletion mod/assignment/lib.php
Expand Up @@ -393,7 +393,8 @@ function submittedlink($allgroups=false) {
} else {
if (isloggedin()) {
if ($submission = $this->get_submission($USER->id)) {
if ($submission->timemodified) {
// If the submission has been completed
if ($this->is_submitted_with_required_data($submission)) {
if ($submission->timemodified <= $this->assignment->timedue || empty($this->assignment->timedue)) {
$submitted = '<span class="early">'.userdate($submission->timemodified).'</span>';
} else {
Expand Down Expand Up @@ -1694,6 +1695,18 @@ function get_submission($userid=0, $createnew=false, $teachermodified=false) {
return $DB->get_record('assignment_submissions', array('assignment'=>$this->assignment->id, 'userid'=>$userid));
}

/**
* Check the given submission is complete. Preliminary rows are often created in the assignment_submissions
* table before a submission actually takes place. This function checks to see if the given submission has actually
* been submitted.
*
* @param stdClass $submission The submission we want to check for completion
* @return bool Indicates if the submission was found to be complete
*/
public function is_submitted_with_required_data($submission) {
return $submission->timemodified;
}

/**
* Instantiates a new submission object for a given user
*
Expand Down
12 changes: 12 additions & 0 deletions mod/assignment/type/upload/assignment.class.php
Expand Up @@ -1135,6 +1135,18 @@ public function download_submissions() {
send_temp_file($zipfile, $filename); //send file and delete after sending.
}
}

/**
* Check the given submission is complete. Preliminary rows are often created in the assignment_submissions
* table before a submission actually takes place. This function checks to see if the given submission has actually
* been submitted.
*
* @param stdClass $submission The submission we want to check for completion
* @return bool Indicates if the submission was found to be complete
*/
public function is_submitted_with_required_data($submission) {
return ($submission->timemodified AND $submission->data2);
}
}

class mod_assignment_upload_notes_form extends moodleform {
Expand Down
12 changes: 12 additions & 0 deletions mod/assignment/type/uploadsingle/assignment.class.php
Expand Up @@ -393,6 +393,18 @@ function download_submissions() {
send_temp_file($zipfile, $filename); //send file and delete after sending.
}
}

/**
* Check the given submission is complete. Preliminary rows are often created in the assignment_submissions
* table before a submission actually takes place. This function checks to see if the given submission has actually
* been submitted.
*
* @param stdClass $submission The submission we want to check for completion
* @return bool Indicates if the submission was found to be complete
*/
public function is_submitted_with_required_data($submission) {
return ($submission->timemodified AND $submission->numfiles > 0);
}
}

class mod_assignment_uploadsingle_response_form extends moodleform {
Expand Down

0 comments on commit d773f37

Please sign in to comment.