diff --git a/mod/assign/locallib.php b/mod/assign/locallib.php index 4b50121a4b5..029265e4361 100644 --- a/mod/assign/locallib.php +++ b/mod/assign/locallib.php @@ -5129,18 +5129,33 @@ class assign { require_once($CFG->dirroot . '/mod/assign/submissionconfirmform.php'); // Check that all of the submission plugins are ready for this submission. + // Also check whether there is something to be submitted as well against atleast one. $notifications = array(); $submission = $this->get_user_submission($USER->id, false); + if ($this->get_instance()->teamsubmission) { + $submission = $this->get_group_submission($USER->id, 0, false); + } + $plugins = $this->get_submission_plugins(); + $hassubmission = false; foreach ($plugins as $plugin) { if ($plugin->is_enabled() && $plugin->is_visible()) { $check = $plugin->precheck_submission($submission); if ($check !== true) { $notifications[] = $check; } + + if (is_object($submission) && !$plugin->is_empty($submission)) { + $hassubmission = true; + } } } + // If there are no submissions and no existing notifications to be displayed the stop. + if (!$hassubmission && !$notifications) { + $notifications[] = get_string('addsubmission_help', 'assign'); + } + $data = new stdClass(); $adminconfig = $this->get_admin_config(); $requiresubmissionstatement = $this->get_instance()->requiresubmissionstatement;