Example #1
0
 /**
  * Save the extension date for a single user.
  *
  * @param int $userid The user id
  * @param mixed $extensionduedate Either an integer date or null
  * @return boolean
  */
 public function save_user_extension($userid, $extensionduedate)
 {
     global $DB;
     // Need submit permission to submit an assignment.
     require_capability('mod/assign:grantextension', $this->context);
     if (!is_enrolled($this->get_course_context(), $userid)) {
         return false;
     }
     if (!has_capability('mod/assign:submit', $this->context, $userid)) {
         return false;
     }
     if ($this->get_instance()->duedate && $extensionduedate) {
         if ($this->get_instance()->duedate > $extensionduedate) {
             return false;
         }
     }
     if ($this->get_instance()->allowsubmissionsfromdate && $extensionduedate) {
         if ($this->get_instance()->allowsubmissionsfromdate > $extensionduedate) {
             return false;
         }
     }
     $flags = $this->get_user_flags($userid, true);
     $flags->extensionduedate = $extensionduedate;
     $result = $this->update_user_flags($flags);
     if ($result) {
         $addtolog = $this->add_to_log('grant extension', $userid, '', true);
         $params = array('context' => $this->context, 'objectid' => $flags->assignment, 'relateduserid' => $userid);
         $event = \mod_assign\event\extension_granted::create($params);
         $event->set_legacy_logdata($addtolog);
         $event->trigger();
     }
     return $result;
 }
Example #2
0
 /**
  * Save the extension date for a single user.
  *
  * @param int $userid The user id
  * @param mixed $extensionduedate Either an integer date or null
  * @return boolean
  */
 public function save_user_extension($userid, $extensionduedate)
 {
     global $DB;
     // Need submit permission to submit an assignment.
     require_capability('mod/assign:grantextension', $this->context);
     if (!is_enrolled($this->get_course_context(), $userid)) {
         return false;
     }
     if (!has_capability('mod/assign:submit', $this->context, $userid)) {
         return false;
     }
     if ($this->get_instance()->duedate && $extensionduedate) {
         if ($this->get_instance()->duedate > $extensionduedate) {
             return false;
         }
     }
     if ($this->get_instance()->allowsubmissionsfromdate && $extensionduedate) {
         if ($this->get_instance()->allowsubmissionsfromdate > $extensionduedate) {
             return false;
         }
     }
     $flags = $this->get_user_flags($userid, true);
     $flags->extensionduedate = $extensionduedate;
     $result = $this->update_user_flags($flags);
     if ($result) {
         \mod_assign\event\extension_granted::create_from_assign($this, $userid)->trigger();
     }
     return $result;
 }