Browse files

Merge branch 'MDL-30006-workshop-grades_21_STABLE' of git://github.co…

…m/mudrd8mz/moodle into MOODLE_21_STABLE
  • Loading branch information...
2 parents c440076 + 08fb238 commit 376d035af926e6b22c5b90df4a6a4096c12bc00d Sam Hemelryk committed Oct 31, 2011
View
8 mod/workshop/form/accumulative/assessment_form.php
@@ -50,6 +50,12 @@ protected function definition_inner(&$mform) {
$mform->addElement('hidden', 'nodims', $nodims);
$mform->setType('nodims', PARAM_INT);
+ // minimal grade value to select - used by the 'compare' rule below
+ // (just an implementation detail to make the rule work, this element is
+ // not processed by the server)
+ $mform->addElement('hidden', 'minusone', -1);
+ $mform->setType('minusone', PARAM_INT);
+
for ($i = 0; $i < $nodims; $i++) {
// dimension header
$dimtitle = get_string('dimensionnumber', 'workshopform_accumulative', $i+1);
@@ -72,7 +78,9 @@ protected function definition_inner(&$mform) {
// grade for this aspect
$label = get_string('dimensiongrade', 'workshopform_accumulative');
$options = make_grades_menu($fields->{'grade__idx_' . $i});
+ $options = array('-1' => get_string('choosedots')) + $options;
$mform->addElement('select', 'grade__idx_' . $i, $label, $options);
+ $mform->addRule(array('grade__idx_' . $i, 'minusone') , get_string('mustchoosegrade', 'workshopform_accumulative'), 'compare', 'gt');
// comment
$label = get_string('dimensioncomment', 'workshopform_accumulative');
View
1 mod/workshop/form/accumulative/lang/en/workshopform_accumulative.php
@@ -36,6 +36,7 @@
$string['excellent'] = 'Excellent';
$string['good'] = 'Good';
$string['incorrect'] = 'Incorrect';
+$string['mustchoosegrade'] = 'You have to select a grade for this aspect';
$string['pluginname'] = 'Accumulative grading';
$string['poor'] = 'Poor';
$string['present'] = 'Present';
View
8 mod/workshop/form/numerrors/assessment_form.php
@@ -71,9 +71,11 @@ protected function definition_inner(&$mform) {
// evaluation of the assertion
$label = get_string('dimensiongrade', 'workshopform_numerrors');
- $mform->addElement('radio', 'grade__idx_' . $i, get_string('yourassessment', 'workshop'), $fields->{'grade0__idx_'.$i}, 0);
- $mform->addElement('radio', 'grade__idx_' . $i, '', $fields->{'grade1__idx_'.$i}, 1);
- $mform->setDefault('grade__idx_' . $i, 0);
+ $mform->addGroup(array(
+ $mform->createElement('radio', 'grade__idx_' . $i, '', $fields->{'grade0__idx_'.$i}, -1),
+ $mform->createElement('radio', 'grade__idx_' . $i, '', $fields->{'grade1__idx_'.$i}, 1),
+ ), 'group_grade__idx_' . $i, get_string('yourassessment', 'workshop'), '<br />', false);
+ $mform->addRule('group_grade__idx_' . $i, get_string('required'), 'required');
// comment
$label = get_string('dimensioncomment', 'workshopform_numerrors');
View
4 mod/workshop/form/numerrors/lib.php
@@ -252,7 +252,7 @@ public function get_assessment_form(moodle_url $actionurl=null, $mode='preview',
$dimid = $fields->{'dimensionid__idx_'.$i};
if (isset($grades[$dimid])) {
$current->{'gradeid__idx_'.$i} = $grades[$dimid]->id;
- $current->{'grade__idx_'.$i} = $grades[$dimid]->grade;
+ $current->{'grade__idx_'.$i} = ($grades[$dimid]->grade == 0 ? -1 : 1);
$current->{'peercomment__idx_'.$i} = $grades[$dimid]->peercomment;
}
}
@@ -294,7 +294,7 @@ public function save_assessment(stdclass $assessment, stdclass $data) {
$grade->assessmentid = $assessment->id;
$grade->strategy = 'numerrors';
$grade->dimensionid = $data->{'dimensionid__idx_' . $i};
- $grade->grade = $data->{'grade__idx_' . $i};
+ $grade->grade = ($data->{'grade__idx_' . $i} <= 0 ? 0 : 1);
$grade->peercomment = $data->{'peercomment__idx_' . $i};
$grade->peercommentformat = FORMAT_HTML;
if (empty($grade->id)) {

0 comments on commit 376d035

Please sign in to comment.