mirror of
https://github.com/moodle/moodle.git
synced 2025-08-05 17:06:53 +02:00
MDL-63578 assign: Better page titles
Use the context function get_context_name() to set the page title. This will change it from "Assignment" to "C1: Important foods to eat". The get_context_name() for activity modules is updated to include the course short name (not the name of the activity type).
This commit is contained in:
parent
4c5b60a0f9
commit
ff9a0f8289
4 changed files with 55 additions and 3 deletions
|
@ -553,6 +553,7 @@ $string['submittedearly'] = 'Assignment was submitted {$a} early';
|
|||
$string['submittedlate'] = 'Assignment was submitted {$a} late';
|
||||
$string['submittedlateshort'] = '{$a} late';
|
||||
$string['submitted'] = 'Submitted';
|
||||
$string['subpagetitle'] = '{$a->contextname} - {$a->subpage}';
|
||||
$string['subplugintype_assignsubmission'] = 'Submission plugin';
|
||||
$string['subplugintype_assignsubmission_plural'] = 'Submission plugins';
|
||||
$string['subplugintype_assignfeedback'] = 'Feedback plugin';
|
||||
|
|
|
@ -4448,7 +4448,14 @@ class assign {
|
|||
|
||||
$PAGE->set_pagelayout('embedded');
|
||||
|
||||
$PAGE->set_title($this->get_context()->get_context_name());
|
||||
$courseshortname = $this->get_context()->get_course_context()->get_context_name(false, true);
|
||||
$args = [
|
||||
'contextname' => $this->get_context()->get_context_name(false, true),
|
||||
'subpage' => get_string('grading', 'assign')
|
||||
];
|
||||
$title = get_string('subpagetitle', 'assign', $args);
|
||||
$title = $courseshortname . ': ' . $title;
|
||||
$PAGE->set_title($title);
|
||||
|
||||
$o .= $this->get_renderer()->header();
|
||||
|
||||
|
|
|
@ -220,13 +220,19 @@ class mod_assign_renderer extends plugin_renderer_base {
|
|||
|
||||
if ($header->subpage) {
|
||||
$this->page->navbar->add($header->subpage);
|
||||
$args = ['contextname' => $header->context->get_context_name(false, true), 'subpage' => $header->subpage];
|
||||
$title = get_string('subpagetitle', 'assign', $args);
|
||||
} else {
|
||||
$title = $header->context->get_context_name(false, true);
|
||||
}
|
||||
$courseshortname = $header->context->get_course_context()->get_context_name(false, true);
|
||||
$title = $courseshortname . ': ' . $title;
|
||||
$heading = format_string($header->assign->name, false, array('context' => $header->context));
|
||||
|
||||
$this->page->set_title(get_string('pluginname', 'assign'));
|
||||
$this->page->set_title($title);
|
||||
$this->page->set_heading($this->page->course->fullname);
|
||||
|
||||
$o .= $this->output->header();
|
||||
$heading = format_string($header->assign->name, false, array('context' => $header->context));
|
||||
$o .= $this->output->heading($heading);
|
||||
if ($header->preface) {
|
||||
$o .= $header->preface;
|
||||
|
|
38
mod/assign/tests/behat/page_titles.feature
Normal file
38
mod/assign/tests/behat/page_titles.feature
Normal file
|
@ -0,0 +1,38 @@
|
|||
@mod @mod_assign
|
||||
Feature: In an assignment, page titles are informative
|
||||
In order to know I am viewing the correct page
|
||||
The page titles need to reflect the current assignment and action
|
||||
|
||||
Background:
|
||||
Given the following "courses" exist:
|
||||
| fullname | shortname | category | groupmode |
|
||||
| Course 1 | C1 | 0 | 1 |
|
||||
And the following "users" exist:
|
||||
| username | firstname | lastname | email |
|
||||
| teacher1 | Teacher | 1 | teacher1@example.com |
|
||||
| student1 | Student | 1 | student1@example.com |
|
||||
And the following "course enrolments" exist:
|
||||
| user | course | role |
|
||||
| teacher1 | C1 | editingteacher |
|
||||
| student1 | C1 | student |
|
||||
And the following "activities" exist:
|
||||
| activity | course | idnumber | name | intro | assignsubmission_onlinetext_enabled |
|
||||
| assign | C1 | ants1 | History of ants | Tell me the history of ants | 1 |
|
||||
|
||||
Scenario: I view an assignment as a student and take an action
|
||||
When I log in as "student1"
|
||||
And I am on "Course 1" course homepage
|
||||
Then I follow "History of ants"
|
||||
And "title[text() = 'C1: History of ants']" "xpath_element" should exist in the "head" "css_element"
|
||||
And I press "Add submission"
|
||||
And "title[text() = 'C1: History of ants - Edit submission']" "xpath_element" should exist in the "head" "css_element"
|
||||
|
||||
Scenario: I view an assignment as a teacher and take an action
|
||||
When I log in as "teacher1"
|
||||
And I am on "Course 1" course homepage
|
||||
Then I follow "History of ants"
|
||||
And "title[text() = 'C1: History of ants']" "xpath_element" should exist in the "head" "css_element"
|
||||
And I navigate to "View all submissions" in current page administration
|
||||
And "title[text() = 'C1: History of ants - Grading']" "xpath_element" should exist in the "head" "css_element"
|
||||
And I click on "Grade" "link" in the "Student 1" "table_row"
|
||||
And "title[text() = 'C1: History of ants - Grading']" "xpath_element" should exist in the "head" "css_element"
|
Loading…
Add table
Add a link
Reference in a new issue