mirror of
https://github.com/moodle/moodle.git
synced 2025-04-25 10:26:17 +02:00
MDL-72413 assign: Use the common module for setting the header
This commit is contained in:
parent
a2d8ac6eea
commit
d9e0d4ed31
grade/grading
mod/assign
@ -82,6 +82,8 @@ $PAGE->set_url($manager->get_management_url($returnurl));
|
||||
navigation_node::override_active_url($manager->get_management_url());
|
||||
$PAGE->set_title(get_string('gradingmanagement', 'core_grading'));
|
||||
$PAGE->set_heading(get_string('gradingmanagement', 'core_grading'));
|
||||
// We don't need to show the default header on a management page.
|
||||
$PAGE->activityheader->disable();
|
||||
$output = $PAGE->get_renderer('core_grading');
|
||||
|
||||
// process the eventual change of the active grading method
|
||||
|
@ -230,10 +230,6 @@ class renderer extends \plugin_renderer_base {
|
||||
* @return string
|
||||
*/
|
||||
public function render_assign_header(assign_header $header) {
|
||||
global $USER;
|
||||
|
||||
$o = '';
|
||||
|
||||
if ($header->subpage) {
|
||||
$this->page->navbar->add($header->subpage, $header->subpageurl);
|
||||
$args = ['contextname' => $header->context->get_context_name(false, true), 'subpage' => $header->subpage];
|
||||
@ -248,33 +244,24 @@ class renderer extends \plugin_renderer_base {
|
||||
$this->page->set_title($title);
|
||||
$this->page->set_heading($this->page->course->fullname);
|
||||
|
||||
$o .= $this->output->header();
|
||||
if (!$this->page->has_secondary_navigation()) {
|
||||
$o .= $this->output->heading($heading);
|
||||
}
|
||||
|
||||
// Show the activity information output component.
|
||||
$modinfo = get_fast_modinfo($header->assign->course);
|
||||
$cm = $modinfo->get_cm($header->coursemoduleid);
|
||||
$cmcompletion = \core_completion\cm_completion_details::get_instance($cm, $USER->id);
|
||||
$activitydates = \core\activity_dates::get_dates_for_module($cm, $USER->id);
|
||||
$o .= $this->output->activity_information($cm, $cmcompletion, $activitydates);
|
||||
|
||||
if ($header->preface) {
|
||||
$o .= $header->preface;
|
||||
}
|
||||
|
||||
$description = $header->preface;
|
||||
if ($header->showintro) {
|
||||
$o .= $this->output->box_start('generalbox boxaligncenter', 'intro');
|
||||
$o .= format_module_intro('assign', $header->assign, $header->coursemoduleid);
|
||||
$description = $this->output->box_start('generalbox boxaligncenter', 'intro');
|
||||
$description .= format_module_intro('assign', $header->assign, $header->coursemoduleid);
|
||||
if ($header->activity) {
|
||||
$o .= $this->format_activity_text($header->assign, $header->coursemoduleid);
|
||||
$description .= $this->format_activity_text($header->assign, $header->coursemoduleid);
|
||||
}
|
||||
$o .= $header->postfix;
|
||||
$o .= $this->output->box_end();
|
||||
$description .= $header->postfix;
|
||||
$description .= $this->output->box_end();
|
||||
}
|
||||
|
||||
return $o;
|
||||
$activityheader = $this->page->activityheader;
|
||||
$activityheader->set_attrs([
|
||||
'title' => $activityheader->is_title_allowed() ? $heading : '',
|
||||
'description' => $description
|
||||
]);
|
||||
|
||||
return $this->output->header();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -82,9 +82,13 @@ $PAGE->set_pagelayout('admin');
|
||||
$PAGE->navbar->add($title);
|
||||
$PAGE->set_title($title);
|
||||
$PAGE->set_heading($course->fullname);
|
||||
$PAGE->activityheader->set_attrs([
|
||||
"title" => format_string($assign->get_instance()->name, true, ['context' => $context]),
|
||||
"description" => "",
|
||||
"hidecompletion" => true
|
||||
]);
|
||||
|
||||
echo $OUTPUT->header();
|
||||
echo $OUTPUT->heading(format_string($assign->get_instance()->name, true, array('context' => $context)));
|
||||
|
||||
if ($override->groupid) {
|
||||
$group = $DB->get_record('groups', array('id' => $override->groupid), 'id, name');
|
||||
|
@ -257,8 +257,13 @@ $PAGE->navbar->add($pagetitle);
|
||||
$PAGE->set_pagelayout('admin');
|
||||
$PAGE->set_title($pagetitle);
|
||||
$PAGE->set_heading($course->fullname);
|
||||
$activityheader = $PAGE->activityheader;
|
||||
$activityheader->set_attrs([
|
||||
'description' => '',
|
||||
'hidecompletion' => true,
|
||||
'title' => $activityheader->is_title_allowed() ? format_string($assigninstance->name, true, ['context' => $context]) : ""
|
||||
]);
|
||||
echo $OUTPUT->header();
|
||||
echo $OUTPUT->heading(format_string($assigninstance->name, true, array('context' => $context)));
|
||||
|
||||
$mform->display();
|
||||
|
||||
|
@ -82,10 +82,13 @@ if ($action == 'movegroupoverride') {
|
||||
$PAGE->set_pagelayout('admin');
|
||||
$PAGE->set_title(get_string('overrides', 'assign'));
|
||||
$PAGE->set_heading($course->fullname);
|
||||
$activityheader = $PAGE->activityheader;
|
||||
$activityheader->set_attrs([
|
||||
'description' => '',
|
||||
'hidecompletion' => true,
|
||||
'title' => $activityheader->is_title_allowed() ? format_string($assign->name, true, ['context' => $context]) : ""
|
||||
]);
|
||||
echo $OUTPUT->header();
|
||||
if (!$PAGE->has_secondary_navigation()) {
|
||||
echo $OUTPUT->heading(format_string($assign->name, true, array('context' => $context)));
|
||||
}
|
||||
$overridemenu = new \mod_assign\output\override_actionmenu($url, $cm);
|
||||
$renderer = $PAGE->get_renderer('mod_assign');
|
||||
echo $renderer->render($overridemenu);
|
||||
|
@ -4225,106 +4225,6 @@ Anchor link 2:<a title=\"bananas\" href=\"../logo-240x60.gif\">Link text</a>
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* Data provider for test_view_group_override
|
||||
*
|
||||
* @return array Provider data
|
||||
*/
|
||||
public function view_group_override_provider() {
|
||||
return [
|
||||
'Other users should see their duedate' => [
|
||||
'student',
|
||||
['group2'],
|
||||
'group1',
|
||||
'7 June 2019, 5:37 PM',
|
||||
],
|
||||
'Teacher should be able to see all group override duedate' => [
|
||||
'teacher',
|
||||
['group1'],
|
||||
'group1',
|
||||
'20 September 2019, 10:37 PM',
|
||||
],
|
||||
'Teacher should be able to see all group override duedate even if they are not member' => [
|
||||
'editingteacher',
|
||||
['group1'],
|
||||
'group2',
|
||||
'7 June 2019, 5:37 PM',
|
||||
]
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* Test showing group override duedate for admin
|
||||
*
|
||||
* @dataProvider view_group_override_provider
|
||||
* @param string $role the role of the user (teacher, student, etc)
|
||||
* @param string[] $groups the groups the user are member of
|
||||
* @param string $activegroup The selected group
|
||||
* @param string $expecteddate The expected due date
|
||||
*/
|
||||
public function test_view_group_override(string $role, array $groups, string $activegroup, string $expecteddate) {
|
||||
global $DB, $PAGE, $SESSION;
|
||||
|
||||
$this->resetAfterTest();
|
||||
$course = $this->getDataGenerator()->create_course();
|
||||
|
||||
$group1 = $this->getDataGenerator()->create_group(['courseid' => $course->id]);
|
||||
$group2 = $this->getDataGenerator()->create_group(['courseid' => $course->id]);
|
||||
|
||||
$user = $this->getDataGenerator()->create_and_enrol($course, $role);
|
||||
if (in_array('group1', $groups)) {
|
||||
groups_add_member($group1, $user);
|
||||
}
|
||||
if (in_array('group2', $groups)) {
|
||||
groups_add_member($group2, $user);
|
||||
}
|
||||
$activegroup = $$activegroup;
|
||||
|
||||
$assign = $this->create_instance($course, [
|
||||
'groupmode' => SEPARATEGROUPS,
|
||||
'duedate' => 1558999899, // 28 May 2019, 7:31 AM.
|
||||
]);
|
||||
$instance = $assign->get_instance();
|
||||
|
||||
// Overrides for two groups.
|
||||
$overrides = [
|
||||
(object) [
|
||||
'assignid' => $instance->id,
|
||||
'groupid' => $group1->id,
|
||||
'userid' => null,
|
||||
'sortorder' => 1,
|
||||
'duedate' => 1568990258, // 20 September 2019, 10:37 PM.
|
||||
],
|
||||
(object) [
|
||||
'assignid' => $instance->id,
|
||||
'groupid' => $group2->id,
|
||||
'userid' => null,
|
||||
'sortorder' => 2,
|
||||
'duedate' => 1559900258, // 7 June 2019, 5:37 PM.
|
||||
],
|
||||
];
|
||||
|
||||
foreach ($overrides as &$override) {
|
||||
$override->id = $DB->insert_record('assign_overrides', $override);
|
||||
}
|
||||
|
||||
$currenturl = new moodle_url('/mod/assign/view.php', ['id' => $assign->get_course_module()->id]);
|
||||
$PAGE->set_url($currenturl);
|
||||
|
||||
$this->setUser($user);
|
||||
$_GET['group'] = $activegroup->id;
|
||||
|
||||
/** @var assign $assign */
|
||||
$header = new \mod_assign\output\assign_header(
|
||||
$assign->get_instance(),
|
||||
$assign->get_context(),
|
||||
false,
|
||||
$assign->get_course_module()->id
|
||||
);
|
||||
$output = $assign->get_renderer()->render($header);
|
||||
$this->assertStringContainsStringIgnoringCase($expecteddate, $output);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test that cron task uses task API to get its last run time.
|
||||
*/
|
||||
|
Loading…
x
Reference in New Issue
Block a user