Esempio n. 1
0
    /**
     * View the grant extension date page.
     *
     * Uses url parameters 'userid'
     * or from parameter 'selectedusers'
     *
     * @param moodleform $mform - Used for validation of the submitted data
     * @return string
     */
    protected function view_grant_extension($mform) {
        global $CFG;
        require_once($CFG->dirroot . '/mod/assign/extensionform.php');

        $o = '';

        $data = new stdClass();
        $data->id = $this->get_course_module()->id;

        $formparams = array(
            'instance' => $this->get_instance(),
            'assign' => $this
        );

        $users = optional_param('userid', 0, PARAM_INT);
        if (!$users) {
            $users = required_param('selectedusers', PARAM_SEQUENCE);
        }
        $userlist = explode(',', $users);

        $keys = array('duedate', 'cutoffdate', 'allowsubmissionsfromdate');
        $maxoverride = array('allowsubmissionsfromdate' => 0, 'duedate' => 0, 'cutoffdate' => 0);
        foreach ($userlist as $userid) {
            // To validate extension date with users overrides.
            $override = $this->override_exists($userid);
            foreach ($keys as $key) {
                if ($override->{$key}) {
                    if ($maxoverride[$key] < $override->{$key}) {
                        $maxoverride[$key] = $override->{$key};
                    }
                } else if ($maxoverride[$key] < $this->get_instance()->{$key}) {
                    $maxoverride[$key] = $this->get_instance()->{$key};
                }
            }
        }
        foreach ($keys as $key) {
            if ($maxoverride[$key]) {
                $this->get_instance()->{$key} = $maxoverride[$key];
            }
        }

        $formparams['userlist'] = $userlist;

        $data->selectedusers = $users;
        $data->userid = 0;

        if (empty($mform)) {
            $mform = new mod_assign_extension_form(null, $formparams);
        }
        $mform->set_data($data);
        $header = new assign_header($this->get_instance(),
                                    $this->get_context(),
                                    $this->show_intro(),
                                    $this->get_course_module()->id,
                                    get_string('grantextension', 'assign'));
        $o .= $this->get_renderer()->render($header);
        $o .= $this->get_renderer()->render(new assign_form('extensionform', $mform));
        $o .= $this->view_footer();
        return $o;
    }
Esempio n. 2
0
 /**
  * View the grant extension date page.
  *
  * Uses url parameters 'userid'
  * or from parameter 'selectedusers'
  *
  * @param moodleform $mform - Used for validation of the submitted data
  * @return string
  */
 protected function view_grant_extension($mform)
 {
     global $DB, $CFG;
     require_once $CFG->dirroot . '/mod/assign/extensionform.php';
     $o = '';
     $data = new stdClass();
     $data->id = $this->get_course_module()->id;
     $formparams = array('instance' => $this->get_instance());
     $extrauserfields = get_extra_user_fields($this->get_context());
     if ($mform) {
         $submitteddata = $mform->get_data();
         $users = $submitteddata->selectedusers;
         $userlist = explode(',', $users);
         $data->selectedusers = $users;
         $data->userid = 0;
         $usershtml = '';
         $usercount = 0;
         foreach ($userlist as $userid) {
             if ($usercount >= 5) {
                 $usershtml .= get_string('moreusers', 'assign', count($userlist) - 5);
                 break;
             }
             $user = $DB->get_record('user', array('id' => $userid), '*', MUST_EXIST);
             $usershtml .= $this->get_renderer()->render(new assign_user_summary($user, $this->get_course()->id, has_capability('moodle/site:viewfullnames', $this->get_course_context()), $this->is_blind_marking(), $this->get_uniqueid_for_user($user->id), $extrauserfields, !$this->is_active_user($userid)));
             $usercount += 1;
         }
         $formparams['userscount'] = count($userlist);
         $formparams['usershtml'] = $usershtml;
     } else {
         $userid = required_param('userid', PARAM_INT);
         $user = $DB->get_record('user', array('id' => $userid), '*', MUST_EXIST);
         $flags = $this->get_user_flags($userid, false);
         $data->userid = $user->id;
         if ($flags) {
             $data->extensionduedate = $flags->extensionduedate;
         }
         $usershtml = $this->get_renderer()->render(new assign_user_summary($user, $this->get_course()->id, has_capability('moodle/site:viewfullnames', $this->get_course_context()), $this->is_blind_marking(), $this->get_uniqueid_for_user($user->id), $extrauserfields, !$this->is_active_user($userid)));
         $formparams['usershtml'] = $usershtml;
     }
     $mform = new mod_assign_extension_form(null, $formparams);
     $mform->set_data($data);
     $header = new assign_header($this->get_instance(), $this->get_context(), $this->show_intro(), $this->get_course_module()->id, get_string('grantextension', 'assign'));
     $o .= $this->get_renderer()->render($header);
     $o .= $this->get_renderer()->render(new assign_form('extensionform', $mform));
     $o .= $this->view_footer();
     return $o;
 }
Esempio n. 3
0
 /**
  * View the grant extension date page.
  *
  * Uses url parameters 'userid'
  * or from parameter 'selectedusers'
  *
  * @param moodleform $mform - Used for validation of the submitted data
  * @return string
  */
 protected function view_grant_extension($mform)
 {
     global $CFG;
     require_once $CFG->dirroot . '/mod/assign/extensionform.php';
     $o = '';
     $data = new stdClass();
     $data->id = $this->get_course_module()->id;
     $formparams = array('instance' => $this->get_instance(), 'assign' => $this);
     $users = optional_param('userid', 0, PARAM_INT);
     if (!$users) {
         $users = required_param('selectedusers', PARAM_SEQUENCE);
     }
     $userlist = explode(',', $users);
     $formparams['userlist'] = $userlist;
     $data->selectedusers = $users;
     $data->userid = 0;
     if (empty($mform)) {
         $mform = new mod_assign_extension_form(null, $formparams);
     }
     $mform->set_data($data);
     $header = new assign_header($this->get_instance(), $this->get_context(), $this->show_intro(), $this->get_course_module()->id, get_string('grantextension', 'assign'));
     $o .= $this->get_renderer()->render($header);
     $o .= $this->get_renderer()->render(new assign_form('extensionform', $mform));
     $o .= $this->view_footer();
     return $o;
 }