Example #1
0
 /**
  * Prevent student updates to this submission
  *
  * @param int $userid
  * @return bool
  */
 public function lock_submission($userid)
 {
     global $USER, $DB;
     // Need grade permission.
     require_capability('mod/assign:grade', $this->context);
     // Give each submission plugin a chance to process the locking.
     $plugins = $this->get_submission_plugins();
     $submission = $this->get_user_submission($userid, false);
     $flags = $this->get_user_flags($userid, true);
     $flags->locked = 1;
     $this->update_user_flags($flags);
     foreach ($plugins as $plugin) {
         if ($plugin->is_enabled() && $plugin->is_visible()) {
             $plugin->lock($submission, $flags);
         }
     }
     $user = $DB->get_record('user', array('id' => $userid), '*', MUST_EXIST);
     $logmessage = get_string('locksubmissionforstudent', 'assign', array('id' => $user->id, 'fullname' => fullname($user)));
     $addtolog = $this->add_to_log('lock submission', $logmessage, '', true);
     $params = array('context' => $this->context, 'objectid' => $flags->assignment, 'relateduserid' => $user->id);
     $event = \mod_assign\event\submission_locked::create($params);
     $event->set_legacy_logdata($addtolog);
     $event->trigger();
     return true;
 }
Example #2
0
 /**
  * Prevent student updates to this submission
  *
  * @param int $userid
  * @return bool
  */
 public function lock_submission($userid)
 {
     global $USER, $DB;
     // Need grade permission.
     require_capability('mod/assign:grade', $this->context);
     // Give each submission plugin a chance to process the locking.
     $plugins = $this->get_submission_plugins();
     $submission = $this->get_user_submission($userid, false);
     $flags = $this->get_user_flags($userid, true);
     $flags->locked = 1;
     $this->update_user_flags($flags);
     foreach ($plugins as $plugin) {
         if ($plugin->is_enabled() && $plugin->is_visible()) {
             $plugin->lock($submission, $flags);
         }
     }
     $user = $DB->get_record('user', array('id' => $userid), '*', MUST_EXIST);
     \mod_assign\event\submission_locked::create_from_user($this, $user)->trigger();
     return true;
 }