Example #1
0
 /**
  *
  */
 protected function definition_grading()
 {
     global $CFG;
     $dataformid = !empty($this->current->id) ? $this->current->id : 0;
     $mform =& $this->_form;
     $displaymultilink = false;
     if ($CFG->dataform_multigradeitems) {
         if ($dataformid) {
             $gitems = grade_item::fetch_all(array('itemtype' => 'mod', 'itemmodule' => 'dataform', 'iteminstance' => $dataformid, 'courseid' => $this->current->course));
             if ($gitems and count($gitems) > 1) {
                 $displaymultilink = true;
             }
         }
     }
     if ($displaymultilink) {
         $mform->addElement('header', 'modstandardgrade', get_string('grade'));
         $urlparams = array('id' => $this->current->update);
         $url = new \moodle_url('/mod/dataform/grade/items.php', $urlparams);
         $label = get_string('usegradeitemsform', 'mod_dataform', $url->out(false));
         $mform->addElement('html', $label);
     } else {
         $this->standard_grading_coursemodule_elements();
         $mform->setDefault('grade', 0);
         $grademan = new \mod_dataform_grade_manager($dataformid);
         // Grading rubric/guide.
         $gradeguide = null;
         if ($grademan->get_form_definition_grading_areas($mform, 'gradeguide', 'gradecalc')) {
             $gradeguide = 'gradeguide';
             $mform->disabledIf('gradeguide', 'grade[modgrade_type]', 'eq', 'none');
         }
         // Grading formula.
         $grademan->get_form_definition_grading_calc($mform, 'gradecalc', $gradeguide);
         $mform->disabledIf('gradecalc', 'grade[modgrade_type]', 'eq', 'none');
     }
 }
Example #2
0
/**
 * Update/create grade item for given dataform.
 * @param object $data object with extra cmidnumber
 * @param mixed optional array/object of grade(s); 'reset' means reset grades in gradebook
 * @return int
 */
function dataform_grade_item_update($data, $grades = null)
{
    $grademan = \mod_dataform_grade_manager::instance($data->id);
    $options = $grades == 'reset' ? array('reset' => 1) : array();
    foreach ($grademan->grade_items as $itemnumber => $unused) {
        $res = $grademan->update_grade_item($itemnumber, $options);
        if ($res != GRADE_UPDATE_OK) {
            // Break on failure.
            return $res;
        }
    }
}
Example #3
0
 /**
  * Returns the grade manager for the Dataform instance.
  *
  * @return mod_dataform_grade_manager
  */
 public function get_grade_manager()
 {
     return mod_dataform_grade_manager::instance($this->id);
 }