예제 #1
0
    /**
     * save grading options
     *
     * @return void
     */
    private function process_save_grading_options() {
        global $USER, $CFG;

        // Include grading options form
        require_once($CFG->dirroot . '/mod/assign/gradingoptionsform.php');

        // Need submit permission to submit an assignment
        require_capability('mod/assign:grade', $this->context);

        $mform = new mod_assign_grading_options_form(null, array('cm'=>$this->get_course_module()->id,
                                                                 'contextid'=>$this->context->id,
                                                                 'userid'=>$USER->id,
                                                                 'submissionsenabled'=>$this->is_any_submission_plugin_enabled(),
                                                                 'showquickgrading'=>false));
        if ($formdata = $mform->get_data()) {
            set_user_preference('assign_perpage', $formdata->perpage);
            set_user_preference('assign_filter', $formdata->filter);
        }
    }
예제 #2
0
 /**
  * Save grading options.
  *
  * @return void
  */
 protected function process_save_grading_options()
 {
     global $USER, $CFG;
     // Include grading options form.
     require_once $CFG->dirroot . '/mod/assign/gradingoptionsform.php';
     // Need submit permission to submit an assignment.
     require_capability('mod/assign:grade', $this->context);
     // Is advanced grading enabled?
     $gradingmanager = get_grading_manager($this->get_context(), 'mod_assign', 'submissions');
     $controller = $gradingmanager->get_active_controller();
     $showquickgrading = empty($controller);
     if (!is_null($this->context)) {
         $showonlyactiveenrolopt = has_capability('moodle/course:viewsuspendedusers', $this->context);
     } else {
         $showonlyactiveenrolopt = false;
     }
     $markingallocation = $this->get_instance()->markingallocation && has_capability('mod/assign:manageallocations', $this->context);
     // Get markers to use in drop lists.
     $markingallocationoptions = array();
     if ($markingallocation) {
         $markingallocationoptions[''] = get_string('filternone', 'assign');
         $markers = get_users_by_capability($this->context, 'mod/assign:grade');
         foreach ($markers as $marker) {
             $markingallocationoptions[$marker->id] = fullname($marker);
         }
     }
     // Get marking states to show in form.
     $markingworkflowoptions = array();
     if ($this->get_instance()->markingworkflow) {
         $notmarked = get_string('markingworkflowstatenotmarked', 'assign');
         $markingworkflowoptions[''] = get_string('filternone', 'assign');
         $markingworkflowoptions[ASSIGN_MARKING_WORKFLOW_STATE_NOTMARKED] = $notmarked;
         $markingworkflowoptions = array_merge($markingworkflowoptions, $this->get_marking_workflow_states_for_current_user());
     }
     $gradingoptionsparams = array('cm' => $this->get_course_module()->id, 'contextid' => $this->context->id, 'userid' => $USER->id, 'submissionsenabled' => $this->is_any_submission_plugin_enabled(), 'showquickgrading' => $showquickgrading, 'quickgrading' => false, 'markingworkflowopt' => $markingworkflowoptions, 'markingallocationopt' => $markingallocationoptions, 'showonlyactiveenrolopt' => $showonlyactiveenrolopt, 'showonlyactiveenrol' => $this->show_only_active_users());
     $mform = new mod_assign_grading_options_form(null, $gradingoptionsparams);
     if ($formdata = $mform->get_data()) {
         set_user_preference('assign_perpage', $formdata->perpage);
         if (isset($formdata->filter)) {
             set_user_preference('assign_filter', $formdata->filter);
         }
         if (isset($formdata->markerfilter)) {
             set_user_preference('assign_markerfilter', $formdata->markerfilter);
         }
         if (isset($formdata->workflowfilter)) {
             set_user_preference('assign_workflowfilter', $formdata->workflowfilter);
         }
         if ($showquickgrading) {
             set_user_preference('assign_quickgrading', isset($formdata->quickgrading));
         }
         if (!empty($showonlyactiveenrolopt)) {
             $showonlyactiveenrol = isset($formdata->showonlyactiveenrol);
             set_user_preference('grade_report_showonlyactiveenrol', $showonlyactiveenrol);
             $this->showonlyactiveenrol = $showonlyactiveenrol;
         }
     }
 }
예제 #3
0
파일: locallib.php 프로젝트: verbazend/AWFA
    /**
     * Save grading options.
     *
     * @return void
     */
    protected function process_save_grading_options() {
        global $USER, $CFG;

        // Include grading options form.
        require_once($CFG->dirroot . '/mod/assign/gradingoptionsform.php');

        // Need submit permission to submit an assignment.
        require_capability('mod/assign:grade', $this->context);
        require_sesskey();

        // Is advanced grading enabled?
        $gradingmanager = get_grading_manager($this->get_context(), 'mod_assign', 'submissions');
        $controller = $gradingmanager->get_active_controller();
        $showquickgrading = empty($controller);

        $gradingoptionsparams = array('cm'=>$this->get_course_module()->id,
                                      'contextid'=>$this->context->id,
                                      'userid'=>$USER->id,
                                      'submissionsenabled'=>$this->is_any_submission_plugin_enabled(),
                                      'showquickgrading'=>$showquickgrading,
                                      'quickgrading'=>false);

        $mform = new mod_assign_grading_options_form(null, $gradingoptionsparams);
        if ($formdata = $mform->get_data()) {
            set_user_preference('assign_perpage', $formdata->perpage);
            if (isset($formdata->filter)) {
                set_user_preference('assign_filter', $formdata->filter);
            }
            if ($showquickgrading) {
                set_user_preference('assign_quickgrading', isset($formdata->quickgrading));
            }
        }
    }