MDL-84803 mod_feedback: Make titles unique

This commit is contained in:
Amaia Anabitarte
2025-03-20 16:09:27 +01:00
parent a18c3ad13a
commit ba1f355fd5
8 changed files with 66 additions and 22 deletions
+7 -1
View File
@@ -47,7 +47,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' => ''
+14
View File
@@ -47,4 +47,18 @@ class renderer extends plugin_renderer_base {
public function create_template_form(int $id) {
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);
}
}
+9 -3
View File
@@ -83,7 +83,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,
@@ -103,8 +110,7 @@ if (count($feedbackitems) > 1) {
}
echo $OUTPUT->header();
/** @var \mod_feedback\output\renderer $renderer */
$renderer = $PAGE->get_renderer('mod_feedback');
echo $OUTPUT->heading(get_string('edit_items', 'mod_feedback'), 3);
echo $renderer->main_action_bar($actionbar);
$form = new mod_feedback_complete_form(mod_feedback_complete_form::MODE_EDIT,
$feedbackstructure, 'feedback_edit_form');
+8 -1
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" => ''
+7 -3
View File
@@ -54,7 +54,13 @@ $PAGE->set_url($url);
$actionbar = new \mod_feedback\output\edit_action_bar($cm->id, $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')
);
// Process template deletion.
if ($templateid) {
@@ -76,8 +82,6 @@ $PAGE->activityheader->set_attrs([
"description" => ''
]);
echo $OUTPUT->header();
/** @var \mod_feedback\output\renderer $renderer */
$renderer = $PAGE->get_renderer('mod_feedback');
if (!$mode) {
echo $renderer->main_action_bar($actionbar);
}
+6 -1
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();
+8 -4
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);
+7 -9
View File
@@ -41,15 +41,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()) {
@@ -67,9 +68,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();