Merge branch 'MDL-84803-main' of https://github.com/aanabit/moodle

This commit is contained in:
Andrew Nicols 2025-03-21 07:55:40 +08:00
commit 620df481d3
No known key found for this signature in database
GPG Key ID: 6D1E3157C8CFBF14
8 changed files with 66 additions and 23 deletions

View File

@ -45,7 +45,13 @@ if (!$feedbackstructure->can_view_analysis()) {
/// Print the page header
$PAGE->set_heading($course->fullname);
$PAGE->set_title($feedback->name);
$renderer = $PAGE->get_renderer('mod_feedback');
$renderer->set_title(
[format_string($feedback->name), format_string($course->fullname)],
get_string('analysis', 'feedback')
);
$PAGE->activityheader->set_attrs([
'hidecompletion' => true,
'description' => ''

View File

@ -52,4 +52,18 @@ class renderer extends plugin_renderer_base {
return $this->render_from_template('mod_feedback/create_template', ['id' => $id]);
}
/**
* Builds the feedback page title.
*
* @param array $titleparts the different parts to add to the title.
* @param string $pagetitle the page title to add to the rest of the parts. Empty by default.
*/
public function set_title(array $titleparts, string $pagetitle = '') {
$title = implode(\moodle_page::TITLE_SEPARATOR, $titleparts);
if (!empty($pagetitle)) {
$title = $pagetitle . ': ' . $title;
}
$this->page->set_title($title);
}
}

View File

@ -79,7 +79,14 @@ $lastposition++;
$PAGE->set_url($url);
$PAGE->set_heading($course->fullname);
$PAGE->set_title($feedback->name);
/** @var \mod_feedback\output\renderer $renderer */
$renderer = $PAGE->get_renderer('mod_feedback');
$renderer->set_title(
[format_string($feedback->name), format_string($course->fullname)],
get_string('questions', 'feedback')
);
$actionbar = new \mod_feedback\output\edit_action_bar($cm->id, $url, $lastposition);
$PAGE->activityheader->set_attrs([
'hidecompletion' => true,
@ -90,9 +97,6 @@ $PAGE->requires->js_call_amd('mod_feedback/edit', 'init', [$cm->id]);
echo $OUTPUT->header();
echo $OUTPUT->heading(get_string('edit_items', 'mod_feedback'), 3);
/** @var \mod_feedback\output\renderer $renderer */
$renderer = $PAGE->get_renderer('mod_feedback');
echo $renderer->main_action_bar($actionbar);
$form = new mod_feedback_complete_form(mod_feedback_complete_form::MODE_EDIT,
$feedbackstructure, 'feedback_edit_form');

View File

@ -98,7 +98,14 @@ if ($item->id) {
$PAGE->navbar->add(get_string('add_item', 'feedback'));
}
$PAGE->set_heading($course->fullname);
$PAGE->set_title($feedback->name);
$renderer = $PAGE->get_renderer('mod_feedback');
$pagetitle = ($itemid) ? get_string('edit_item', 'feedback') : get_string('add_item', 'feedback');
$renderer->set_title(
[format_string($feedback->name), format_string($course->fullname)],
$pagetitle
);
$PAGE->activityheader->set_attrs([
"hidecompletion" => true,
"description" => ''

View File

@ -44,7 +44,14 @@ $url = new moodle_url('/mod/feedback/manage_templates.php', $params);
$PAGE->set_url($url);
$PAGE->set_heading($course->fullname);
$PAGE->set_title($feedback->name);
/** @var \mod_feedback\output\renderer $renderer */
$renderer = $PAGE->get_renderer('mod_feedback');
$renderer->set_title(
[format_string($feedback->name), format_string($course->fullname)],
get_string('templates', 'feedback')
);
$PAGE->add_body_class('limitedwidth');
// Process template deletion.
@ -67,8 +74,6 @@ $PAGE->activityheader->set_attrs([
"description" => ''
]);
echo $OUTPUT->header();
/** @var \mod_feedback\output\renderer $renderer */
$renderer = $PAGE->get_renderer('mod_feedback');
echo $OUTPUT->heading(get_string('templates', 'mod_feedback'), 3);
// First we get the course templates.

View File

@ -60,7 +60,12 @@ $feedback_url = new moodle_url('/mod/feedback/index.php', array('id'=>$course->i
$PAGE->navbar->add($strfeedbacks, $feedback_url);
$PAGE->navbar->add(format_string($feedback->name));
$PAGE->set_title($feedback->name);
$renderer = $PAGE->get_renderer('mod_feedback');
$renderer->set_title(
[format_string($feedback->name), format_string($course->fullname)],
get_string('previewquestions', 'feedback')
);
$PAGE->set_heading($course->fullname);
$PAGE->activityheader->set_title(format_string($feedback->name));
echo $OUTPUT->header();

View File

@ -85,16 +85,20 @@ if ($data = $courseselectform->get_data()) {
// Print the page header.
navigation_node::override_active_url($baseurl);
$PAGE->set_heading($course->fullname);
$PAGE->set_title($feedback->name);
/** @var \mod_feedback\output\renderer $renderer */
$renderer = $PAGE->get_renderer('mod_feedback');
$renderer->set_title(
[format_string($feedback->name), format_string($course->fullname)],
get_string('responses', 'feedback')
);
$PAGE->activityheader->set_attrs([
'hidecompletion' => true,
'description' => ''
]);
$PAGE->add_body_class('limitedwidth');
echo $OUTPUT->header();
/** @var \mod_feedback\output\renderer $renderer */
$renderer = $PAGE->get_renderer('mod_feedback');
echo $renderer->main_action_bar($actionbar);
echo $OUTPUT->heading(get_string('show_entries', 'mod_feedback'), 3);

View File

@ -39,15 +39,16 @@ if ($course->id == SITEID) {
$PAGE->set_pagelayout('incourse');
}
$PAGE->set_url('/mod/feedback/view.php', array('id' => $cm->id));
$PAGE->set_title($feedback->name);
/** @var \mod_feedback\output\renderer $renderer */
$renderer = $PAGE->get_renderer('mod_feedback');
$renderer->set_title(
[format_string($feedback->name), format_string($course->fullname)]
);
$PAGE->set_heading($course->fullname);
$PAGE->add_body_class('limitedwidth');
// Check access to the given courseid.
if ($courseid AND $courseid != SITEID) {
require_course_login(get_course($courseid)); // This overwrites the object $COURSE .
}
// Check whether the feedback is mapped to the given courseid.
if (!has_capability('mod/feedback:edititems', $context) &&
!$feedbackcompletion->check_course_is_mapped()) {
@ -65,9 +66,6 @@ $actionbar = new \mod_feedback\output\standard_action_bar(
$courseid
);
/** @var \mod_feedback\output\renderer $renderer */
$renderer = $PAGE->get_renderer('mod_feedback');
// Trigger module viewed event.
$feedbackcompletion->trigger_module_viewed();