MDL-10738 finished hiding support in grade and item edit page

This commit is contained in:
skodak
2007-08-06 20:51:09 +00:00
parent 1632679d7f
commit 15a511597e
7 changed files with 79 additions and 7 deletions
+20 -5
View File
@@ -52,7 +52,7 @@ if (!$grade_item = grade_item::fetch(array('id'=>$itemid, 'courseid'=>$courseid)
$mform = new edit_grade_form(null, array('grade_item'=>$grade_item, 'gpr'=>$gpr));
if ($grade = get_record('grade_grades', 'itemid', $id, 'userid', $userid)) {
if ($grade = get_record('grade_grades', 'itemid', $grade_item->id, 'userid', $userid)) {
if ($grade_text = get_record('grade_grades_text', 'gradeid', $grade->id)) {
// always clean existing feedback - grading should not have XSS risk
if (can_use_html_editor()) {
@@ -68,9 +68,16 @@ if ($grade = get_record('grade_grades', 'itemid', $id, 'userid', $userid)) {
}
}
$grade->locked = $grade->locked > 0 ? 1:0;
$grade->overridden = $grade->overridden > 0 ? 1:0;
$grade->excluded = $grade->excluded > 0 ? 1:0;
$grade->locked = $grade->locked > 0 ? 1:0;
$grade->overridden = $grade->overridden > 0 ? 1:0;
$grade->excluded = $grade->excluded > 0 ? 1:0;
if ($grade->hidden > 1) {
$grade->hiddenuntil = $grade->hidden;
$grade->hidden = 0;
} else {
$grade->hiddenuntil = 0;
}
$mform->set_data($grade);
@@ -90,7 +97,15 @@ if ($mform->is_cancelled()) {
$grade_grade = grade_grade::fetch(array('userid'=>$data->userid, 'itemid'=>$grade_item->id));
$grade_grade->set_hidden($data->hidden); // TODO: this is wrong - hidden might be a data to hide until
if (empty($data->hidden)) {
if (empty($data->hiddenuntil)) {
$grade_grade->set_hidden(0);
} else {
$grade_grade->set_hidden($data->hiddenuntil);
}
} else {
$grade_grade->set_hidden(1);
}
// ignore overridden flag when changing final grade
if ($old_grade_grade->finalgrade == $grade_grade->finalgrade) {
+6 -1
View File
@@ -37,10 +37,15 @@ class edit_grade_form extends moodleform {
$mform->addElement('select', 'finalgrade', get_string('finalgrade', 'grades'), $scaleopt);
}
$mform->addElement('advcheckbox', 'hidden', get_string('hidden', 'grades'));
$mform->addElement('advcheckbox', 'overridden', get_string('overridden', 'grades'));
$mform->addElement('advcheckbox', 'excluded', get_string('excluded', 'grades'));
/// hiding
/// advcheckbox is not compatible with disabledIf !!
$mform->addElement('checkbox', 'hidden', get_string('hidden', 'grades'));
$mform->addElement('date_time_selector', 'hiddenuntil', get_string('hiddeuntil', 'grades'), array('optional'=>true));
$mform->disabledIf('hiddenuntil', 'hidden', 'checked');
/// locking
$mform->addElement('advcheckbox', 'locked', get_string('locked', 'grades'));
$mform->addElement('date_time_selector', 'locktime', get_string('locktime', 'grades'), array('optional'=>true));
+19
View File
@@ -33,6 +33,13 @@ if ($item = get_record('grade_items', 'id', $id, 'courseid', $course->id)) {
redirect($gpr->add_url_params($url));
}
if ($item->hidden > 1) {
$item->hiddenuntil = $item->hidden;
$item->hidden = 0;
} else {
$item->hiddenuntil = 0;
}
// Get Item preferences
$item->pref_gradedisplaytype = grade_report::get_pref('gradedisplaytype', $id);
$item->pref_decimalpoints = grade_report::get_pref('decimalpoints', $id);
@@ -46,6 +53,11 @@ if ($data = $mform->get_data(false)) {
$data->calculation = grade_item::normalize_formula($data->calculation, $course->id);
}
$hidden = empty($data->hidden) ? 0: $data->hidden;
$hiddenuntil = empty($data->hiddenuntil) ? 0: $data->hiddenuntil;
unset($data->hidden);
unset($data->hiddenuntil);
$grade_item = new grade_item(array('id'=>$id, 'courseid'=>$courseid));
grade_item::set_properties($grade_item, $data);
@@ -59,6 +71,13 @@ if ($data = $mform->get_data(false)) {
$grade_item->update();
}
// update hiding flag (in grades too if needed)
if (empty($hidden)) {
$grade_item->set_hidden($hiddenuntil);
} else {
$grade_item->set_hidden(1);
}
// Handle user preferences
if (isset($data->pref_gradedisplaytype)) {
if (!grade_report::set_pref('gradedisplaytype', $data->pref_gradedisplaytype, $grade_item->id)) {
+7
View File
@@ -73,6 +73,13 @@ class edit_item_form extends moodleform {
$mform->setHelpButton('aggregationcoef', array(false, get_string('aggregationcoef', 'grades'), false, true, false, 'aggregationcoefhelp'));
$mform->setDefault('aggregationcoef', 0.0);
/// hiding
/// advcheckbox is not compatible with disabledIf !!
$mform->addElement('checkbox', 'hidden', get_string('hidden', 'grades'));
$mform->addElement('date_time_selector', 'hiddenuntil', get_string('hiddenuntil', 'grades'), array('optional'=>true));
$mform->disabledIf('hiddenuntil', 'hidden', 'checked');
/// locking
$mform->addElement('advcheckbox', 'locked', get_string('locked', 'grades'));
$mform->setHelpButton('locked', array(false, get_string('locked', 'grades'), false, true, false, 'lockedhelp'));
+19
View File
@@ -34,6 +34,13 @@ if ($item = get_record('grade_items', 'id', $id, 'courseid', $course->id)) {
redirect($gpr->add_url_params($url));
}
if ($item->hidden > 1) {
$item->hiddenuntil = $item->hidden;
$item->hidden = 0;
} else {
$item->hiddenuntil = 0;
}
$item->calculation = grade_item::denormalize_formula($item->calculation, $course->id);
if ($item->itemtype == 'mod') {
@@ -51,6 +58,11 @@ if ($data = $mform->get_data(false)) {
$data->calculation = grade_item::normalize_formula($data->calculation, $course->id);
}
$hidden = empty($data->hidden) ? 0: $data->hidden;
$hiddenuntil = empty($data->hiddenuntil) ? 0: $data->hiddenuntil;
unset($data->hidden);
unset($data->hiddenuntil);
$grade_item = new grade_item(array('id'=>$id, 'courseid'=>$courseid));
grade_item::set_properties($grade_item, $data);
@@ -111,6 +123,13 @@ if ($data = $mform->get_data(false)) {
$grade_item->update();
}
// update hiding flag (in grades too if needed)
if (empty($hidden)) {
$grade_item->set_hidden($hiddenuntil);
} else {
$grade_item->set_hidden(1);
}
redirect($returnurl);
}
+7 -1
View File
@@ -43,8 +43,14 @@ class edit_outcomeitem_form extends moodleform {
$mform->addElement('text', 'aggregationcoef', get_string('aggregationcoef', 'grades'));
$mform->setDefault('aggregationcoef', 0.0);
$mform->addElement('advcheckbox', 'locked', get_string('locked', 'grades'));
/// hiding
/// advcheckbox is not compatible with disabledIf !!
$mform->addElement('checkbox', 'hidden', get_string('hidden', 'grades'));
$mform->addElement('date_time_selector', 'hiddenuntil', get_string('hiddeuntil', 'grades'), array('optional'=>true));
$mform->disabledIf('hiddenuntil', 'hidden', 'checked');
//locking
$mform->addElement('advcheckbox', 'locked', get_string('locked', 'grades'));
$mform->addElement('date_time_selector', 'locktime', get_string('locktime', 'grades'), array('optional'=>true));
/// hidden params
+1
View File
@@ -165,6 +165,7 @@ $string['grades'] = 'Grades';
$string['gradetype'] = 'Grade type';
$string['gradeview'] = 'View Grade';
$string['gradeweighthelp'] = 'Grade Weight Help';
$string['hiddenuntil'] = 'Hidden until';
$string['hideadvanced'] = 'Hide Advanced Features';
$string['hidecalculations'] = 'Hide calculations';
$string['hidecategory'] = 'Hidden';