mirror of
https://github.com/moodle/moodle.git
synced 2025-08-05 00:46:50 +02:00
improved hiding support in grade/
This commit is contained in:
parent
e3fa6587ee
commit
f60c61b1b2
11 changed files with 98 additions and 60 deletions
|
@ -38,7 +38,7 @@ switch ($action) {
|
|||
if ($type == 'grade' and empty($object->id)) {
|
||||
$object->insert();
|
||||
}
|
||||
$object->set_hidden(1);
|
||||
$object->set_hidden(1, true);
|
||||
}
|
||||
break;
|
||||
|
||||
|
@ -50,7 +50,7 @@ switch ($action) {
|
|||
if ($type == 'grade' and empty($object->id)) {
|
||||
$object->insert();
|
||||
}
|
||||
$object->set_hidden(0);
|
||||
$object->set_hidden(0, true);
|
||||
}
|
||||
break;
|
||||
|
||||
|
|
|
@ -90,11 +90,15 @@ if ($grade = get_record('grade_grades', 'itemid', $grade_item->id, 'userid', $us
|
|||
|
||||
if ($grade->hidden > 1) {
|
||||
$grade->hiddenuntil = $grade->hidden;
|
||||
$grade->hidden = 0;
|
||||
$grade->hidden = 1;
|
||||
} else {
|
||||
$grade->hiddenuntil = 0;
|
||||
}
|
||||
|
||||
if ($grade_item->is_hidden()) {
|
||||
$grade->hidden = 1;
|
||||
}
|
||||
|
||||
if ($grade_item->is_locked()) {
|
||||
$grade->locked = 1;
|
||||
}
|
||||
|
@ -131,14 +135,21 @@ if ($mform->is_cancelled()) {
|
|||
$grade_grade->grade_item =& $grade_item; // no db fetching
|
||||
|
||||
if (has_capability('moodle/grade:manage', $context) or has_capability('moodle/grade:hide', $context)) {
|
||||
if (empty($data->hidden)) {
|
||||
if (empty($data->hiddenuntil)) {
|
||||
$grade_grade->set_hidden(0);
|
||||
$hidden = empty($data->hidden) ? 0: $data->hidden;
|
||||
$hiddenuntil = empty($data->hiddenuntil) ? 0: $data->hiddenuntil;
|
||||
|
||||
if ($grade_item->is_hidden()) {
|
||||
if ($old_grade_grade->hidden == 1 and $hiddenuntil == 0) {
|
||||
//nothing to do - grade was originally hidden, we want to keep it that way
|
||||
} else {
|
||||
$grade_grade->set_hidden($data->hiddenuntil);
|
||||
$grade_grade->set_hidden($hiddenuntil);
|
||||
}
|
||||
} else {
|
||||
$grade_grade->set_hidden(1);
|
||||
if ($hiddenuntil) {
|
||||
$grade_grade->set_hidden($hiddenuntil);
|
||||
} else {
|
||||
$grade_grade->set_hidden($hidden); // checkbox data might be undefined
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -59,7 +59,7 @@ class edit_grade_form extends moodleform {
|
|||
$mform->setHelpButton('hidden', array('hidden', get_string('hidden', 'grades'), 'grade'));
|
||||
$mform->addElement('date_time_selector', 'hiddenuntil', get_string('hiddenuntil', 'grades'), array('optional'=>true));
|
||||
$mform->setHelpButton('hiddenuntil', array('hiddenuntil', get_string('hiddenuntil', 'grades'), 'grade'));
|
||||
$mform->disabledIf('hiddenuntil', 'hidden', 'checked');
|
||||
$mform->disabledIf('hidden', 'hiddenuntil[off]', 'notchecked');
|
||||
|
||||
/// locking
|
||||
$mform->addElement('advcheckbox', 'locked', get_string('locked', 'grades'));
|
||||
|
@ -136,6 +136,10 @@ class edit_grade_form extends moodleform {
|
|||
|
||||
$old_grade_grade = new grade_grade(array('itemid'=>$grade_item->id, 'userid'=>$userid));
|
||||
|
||||
if ($grade_item->is_hidden()) {
|
||||
$mform->hardFreeze('hidden');
|
||||
}
|
||||
|
||||
if ($old_grade_grade->is_locked()) {
|
||||
if ($grade_item->is_locked()) {
|
||||
$mform->hardFreeze('locked');
|
||||
|
|
|
@ -78,11 +78,11 @@ 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);
|
||||
// update hiding flag
|
||||
if ($hiddenuntil) {
|
||||
$grade_item->set_hidden($hiddenuntil, false);
|
||||
} else {
|
||||
$grade_item->set_hidden(1);
|
||||
$grade_item->set_hidden($hidden, false);
|
||||
}
|
||||
|
||||
$grade_item->set_locktime($locktime); // locktime first - it might be removed when unlocking
|
||||
|
|
|
@ -89,7 +89,7 @@ class edit_item_form extends moodleform {
|
|||
$mform->setHelpButton('hidden', array('hidden', get_string('hidden', 'grades'), 'grade'));
|
||||
$mform->addElement('date_time_selector', 'hiddenuntil', get_string('hiddenuntil', 'grades'), array('optional'=>true));
|
||||
$mform->setHelpButton('hiddenuntil', array('hiddenuntil', get_string('hiddenuntil', 'grades'), 'grade'));
|
||||
$mform->disabledIf('hiddenuntil', 'hidden', 'checked');
|
||||
$mform->disabledIf('hidden', 'hiddenuntil[off]', 'notchecked');
|
||||
|
||||
/// locking
|
||||
$mform->addElement('advcheckbox', 'locked', get_string('locked', 'grades'));
|
||||
|
|
|
@ -130,11 +130,11 @@ 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);
|
||||
// update hiding flag
|
||||
if ($hiddenuntil) {
|
||||
$grade_item->set_hidden($hiddenuntil, false);
|
||||
} else {
|
||||
$grade_item->set_hidden(1);
|
||||
$grade_item->set_hidden($hidden, false);
|
||||
}
|
||||
|
||||
$grade_item->set_locktime($locktime); // locktime first - it might be removed when unlocking
|
||||
|
|
|
@ -57,7 +57,7 @@ class edit_outcomeitem_form extends moodleform {
|
|||
$mform->setHelpButton('hidden', array('hidden', get_string('hidden', 'grades'), 'grade'));
|
||||
$mform->addElement('date_time_selector', 'hiddenuntil', get_string('hiddenuntil', 'grades'), array('optional'=>true));
|
||||
$mform->setHelpButton('hiddenuntil', array('hiddenuntil', get_string('hiddenuntil', 'grades'), 'grade'));
|
||||
$mform->disabledIf('hiddenuntil', 'hidden', 'checked');
|
||||
$mform->disabledIf('hidden', 'hiddenuntil[off]', 'notchecked');
|
||||
|
||||
//locking
|
||||
$mform->addElement('advcheckbox', 'locked', get_string('locked', 'grades'));
|
||||
|
|
|
@ -825,9 +825,9 @@ class grade_tree {
|
|||
$icon = 'show';
|
||||
$tooltip = '';
|
||||
|
||||
if ($element['object']->hidden > 1) { // Change the icon and add a tooltip showing the date
|
||||
if ($element['type'] != 'category' and $element['object']->get_hidden() > 1) { // Change the icon and add a tooltip showing the date
|
||||
$icon = 'hiddenuntil';
|
||||
$tooltip = userdate($element['object']->hidden);
|
||||
$tooltip = userdate($element['object']->get_hidden());
|
||||
}
|
||||
|
||||
$url = $CFG->wwwroot.'/grade/edit/tree/action.php?id='.$this->courseid.'&action=show&sesskey='.sesskey()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue