Skip to content
Snippets Groups Projects
Commit ce9b5d6e authored by Alexander Bias's avatar Alexander Bias
Browse files

Improvement: Modify the hint for unrestricted self enrolment in a way that it...

Improvement: Modify the hint for unrestricted self enrolment in a way that it is more understandable if enrolment end dates are set or not.
parent 899e0456
Branches
Tags
No related merge requests found
......@@ -6,6 +6,7 @@ Changes
### Unreleased
* 2021-04-12 - Improvement: Modify the hint for unrestricted self enrolment in a way that it is more understandable if enrolment end dates are set or not.
* 2021-04-11 - Fix Behat test for random login background image
* 2021-03-14 - Fix Behat test for unrestricted self enrolment hint
......
......@@ -150,9 +150,9 @@ With this setting a hint will appear in the course header as long as the visibil
With this setting a hint will appear in the course header when a user is accessing it with the guest access feature. If the course provides an active self enrolment, a link to that page is also presented to the user.
##### Show hint for unrestricted self enrolment
##### Show hint for self enrolment without enrolment key
With this setting a hint will appear in the course header when the course is visible and a unrestricted (no enrolment key or end date is set) self enrolment is active.
With this setting a hint will appear in the course header if the course is visible and an enrolment without enrolment key is currently possible.
#### Course settings
......
......@@ -246,7 +246,7 @@ class core_renderer extends \core_renderer {
// MODIFICATION END.
// MODIFICATION START:
// If the setting showhintcourseselfenrol is set, a hint for users is shown that the course has an unrestricted self
// If the setting showhintcourseselfenrol is set, a hint for users is shown that the course allows unrestricted self
// enrolment. This hint is only shown if the course is visible, the self enrolment is visible and if the user has the
// capability "theme/boost_campus:viewhintcourseselfenrol".
if (get_config('theme_boost_campus', 'showhintcourseselfenrol') == 'yes'
......@@ -256,40 +256,142 @@ class core_renderer extends \core_renderer {
&& $COURSE->visible == true) {
// Get the active enrol instances for this course.
$enrolinstances = enrol_get_instances($COURSE->id, true);
// Prepare to remember when self enrolment is / will be possible.
$selfenrolmentpossiblecurrently = false;
$selfenrolmentpossiblefuture = false;
foreach ($enrolinstances as $instance) {
// Check if unrestricted self enrolment is possible.
// Check if unrestricted self enrolment is possible currently or in the future.
$now = (new \DateTime("now", \core_date::get_server_timezone_object()))->getTimestamp();
if ($instance->enrol == 'self' && empty($instance->password) && $instance->customint6 == 1 &&
(empty($instance->enrolenddate) || $instance->enrolenddate > $now) &&
(empty($instance->enrolstartdate) || $instance->enrolstartdate < $now)) {
(empty($instance->enrolenddate) || $instance->enrolenddate > $now)) {
// Build enrol instance object with all necessary information for rendering the note later.
$instanceobject = new stdClass();
// Remember instance name.
if (empty($instance->name)) {
$selfenrolinstances[$instance->id] = get_string('pluginname', 'enrol_self') .
$instanceobject->name = get_string('pluginname', 'enrol_self') .
" (" . get_string('defaultcoursestudent', 'core') . ")";
} else {
$selfenrolinstances[$instance->id] = $instance->name;
$instanceobject->name = $instance->name;
}
// Remember type of unrestrictedness.
if (empty($instance->enrolenddate) && empty($instance->enrolstartdate)) {
$instanceobject->unrestrictedness = 'unlimited';
$selfenrolmentpossiblecurrently = true;
} else if (empty($instance->enrolstartdate) &&
!empty($instance->enrolenddate) && $instance->enrolenddate > $now) {
$instanceobject->unrestrictedness = 'until';
$selfenrolmentpossiblecurrently = true;
} else if (empty($instance->enrolenddate) &&
!empty($instance->enrolstartdate) && $instance->enrolstartdate > $now) {
$instanceobject->unrestrictedness = 'from';
$selfenrolmentpossiblefuture = true;
} else if (empty($instance->enrolenddate) &&
!empty($instance->enrolstartdate) && $instance->enrolstartdate <= $now) {
$instanceobject->unrestrictedness = 'since';
$selfenrolmentpossiblecurrently = true;
} else if (!empty($instance->enrolstartdate) && $instance->enrolstartdate > $now &&
!empty($instance->enrolenddate) && $instance->enrolenddate > $now) {
$instanceobject->unrestrictedness = 'fromuntil';
$selfenrolmentpossiblefuture = true;
} else if (!empty($instance->enrolstartdate) && $instance->enrolstartdate <= $now &&
!empty($instance->enrolenddate) && $instance->enrolenddate > $now) {
$instanceobject->unrestrictedness = 'sinceuntil';
$selfenrolmentpossiblecurrently = true;
} else {
// This should not happen, thus continue to next instance.
continue;
}
// Remember enrol start date.
if (!empty($instance->enrolstartdate)) {
$instanceobject->startdate = $instance->enrolstartdate;
} else {
$instanceobject->startdate = null;
}
// Remember enrol end date.
if (!empty($instance->enrolenddate)) {
$instanceobject->enddate = $instance->enrolenddate;
} else {
$instanceobject->enddate = null;
}
// Remember this instance.
$selfenrolinstances[$instance->id] = $instanceobject;
}
}
if (!empty($selfenrolinstances)) {
// Give out a hint for each unrestricted active self enrolment in the course.
foreach ($selfenrolinstances as $selfenrolinstanceid => $selfenrolinstancename) {
// If there is at least one unrestricted enrolment instance,
// show the hint with information about each unrestricted active self enrolment in the course.
if (!empty($selfenrolinstances) &&
($selfenrolmentpossiblecurrently == true || $selfenrolmentpossiblefuture == true)) {
// Start hint box.
$html .= html_writer::start_tag('div', array('class' => 'course-selfenrol-infobox alert alert-info'));
$html .= html_writer::tag('i', null, array('class' => 'fa fa-sign-in fa-3x fa-pull-left'));
$html .= get_string('showhintcourseselfenrol', 'theme_boost_campus',
array('name' => $selfenrolinstancename));
// Only show the link to edit the specific self enrolment if the user has the capability
// to config self enrolments.
// Show the start of the hint depending on the fact if enrolment is already possible currently or
// will be in the future.
if ($selfenrolmentpossiblecurrently == true) {
$html .= get_string('showhintcourseselfenrolstartcurrently', 'theme_boost_campus');
} else if ($selfenrolmentpossiblefuture == true) {
$html .= get_string('showhintcourseselfenrolstartfuture', 'theme_boost_campus');
}
$html .= html_writer::empty_tag('br');
// Iterate over all enrolment instances to output the details.
foreach ($selfenrolinstances as $selfenrolinstanceid => $selfenrolinstanceobject) {
// If the user has the capability to config self enrolments, enrich the instance name with the settings link.
if (has_capability('enrol/self:config', \context_course::instance($COURSE->id))) {
$url = new moodle_url('/enrol/editinstance.php', array('courseid' => $COURSE->id,
'id' => $selfenrolinstanceid, 'type' => 'self'));
$html .= html_writer::tag('div', get_string('showhintcourseselfenrollink',
'theme_boost_campus', array('url' => $url->out())));
$selfenrolinstanceobject->name = html_writer::link($url, $selfenrolinstanceobject->name);
}
// Show the enrolment instance information depending on the instance configuration.
if ($selfenrolinstanceobject->unrestrictedness == 'unlimited') {
$html .= get_string('showhintcourseselfenrolunlimited', 'theme_boost_campus',
array('name' => $selfenrolinstanceobject->name));
} else if ($selfenrolinstanceobject->unrestrictedness == 'until') {
$html .= get_string('showhintcourseselfenroluntil', 'theme_boost_campus',
array('name' => $selfenrolinstanceobject->name,
'until' => userdate($selfenrolinstanceobject->enddate)));
} else if ($selfenrolinstanceobject->unrestrictedness == 'from') {
$html .= get_string('showhintcourseselfenrolfrom', 'theme_boost_campus',
array('name' => $selfenrolinstanceobject->name,
'from' => userdate($selfenrolinstanceobject->startdate)));
} else if ($selfenrolinstanceobject->unrestrictedness == 'since') {
$html .= get_string('showhintcourseselfenrolsince', 'theme_boost_campus',
array('name' => $selfenrolinstanceobject->name,
'since' => userdate($selfenrolinstanceobject->startdate)));
} else if ($selfenrolinstanceobject->unrestrictedness == 'fromuntil') {
$html .= get_string('showhintcourseselfenrolfromuntil', 'theme_boost_campus',
array('name' => $selfenrolinstanceobject->name,
'until' => userdate($selfenrolinstanceobject->enddate),
'from' => userdate($selfenrolinstanceobject->startdate)));
} else if ($selfenrolinstanceobject->unrestrictedness == 'sinceuntil') {
$html .= get_string('showhintcourseselfenrolsinceuntil', 'theme_boost_campus',
array('name' => $selfenrolinstanceobject->name,
'until' => userdate($selfenrolinstanceobject->enddate),
'since' => userdate($selfenrolinstanceobject->startdate)));
}
// Add a trailing space to separate this instance from the next one.
$html .= ' ';
}
// If the user has the capability to config self enrolments, add the call for action.
if (has_capability('enrol/self:config', \context_course::instance($COURSE->id))) {
$html .= html_writer::empty_tag('br');
$html .= get_string('showhintcourseselfenrolinstancecallforaction', 'theme_boost_campus');
}
// End hint box.
$html .= html_writer::end_tag('div');
}
}
}
// MODIFICATION END.
// MODIFICATION START.
......
......@@ -102,8 +102,8 @@ $string['showhintcoursehiddensetting_desc'] = 'With this setting a hint will app
$string['showhintcoursguestaccesssetting'] = 'Show hint for guest access';
$string['showhintcourseguestaccesssetting_desc'] = 'With this setting a hint will appear in the course header when a user is accessing it with the guest access feature. If the course provides an active self enrolment, a link to that page is also presented to the user.';
// ... Show hint for unrestricted self enrolment.
$string['showhintcourseselfenrolsetting'] = 'Show hint for unrestricted self enrolment';
$string['showhintcourseselfenrolsetting_desc'] = 'With this setting a hint will appear in the course header when the course is visible and a unrestricted (no enrolment key or end date is set) self enrolment is active.';
$string['showhintcourseselfenrolsetting'] = 'Show hint for self enrolment without enrolment key';
$string['showhintcourseselfenrolsetting_desc'] = 'With this setting a hint will appear in the course header if the course is visible and an enrolment without enrolment key is currently possible.';
// ...Course settings.
$string['coursesettingsheadingsetting'] = 'Course settings';
// ...Show course settings within the course.
......@@ -313,9 +313,15 @@ $string['showhintcourseguestaccessgeneral'] = 'You are currently viewing this co
$string['showhintcourseguestaccesslink'] = 'To have full access to the course, you can <a href="{$a->url}">self enrol into this course</a>.';
$string['showhintcoursehiddengeneral'] = 'This course is currently <strong>hidden</strong>. Only enrolled teachers can access this course when hidden.';
$string['showhintcoursehiddensettingslink'] = 'You can change the visibility in the <a href="{$a->url}">course settings</a>.';
$string['showhintcourseselfenrol'] = 'This course is currently visible and an <strong>unrestricted self enrolment</strong> is active: <strong>"{$a->name}"</strong>. <br/>
This means, that neither an enrolment key nor a self enrolment end date is set.';
$string['showhintcourseselfenrollink'] = 'If you don\'t want that any Moodle user can enrol into this course freely, please restrict the settings for this self enrolment instance in the <a href="{$a->url}">enrolment settings</a>.';
$string['showhintcourseselfenrolstartcurrently'] = 'This course is currently visible and <strong>self enrolment without enrolment key</strong> is currently possible.';
$string['showhintcourseselfenrolstartfuture'] = 'This course is currently visible and <strong>self enrolment without enrolment key</strong> is planned to become possible.';
$string['showhintcourseselfenrolunlimited'] = 'The <strong>{$a->name}</strong> enrolment instance allows unrestricted self enrolment infinitely.';
$string['showhintcourseselfenroluntil'] = 'The <strong>{$a->name}</strong> enrolment instance allows unrestricted self enrolment until {$a->until}.';
$string['showhintcourseselfenrolfrom'] = 'The <strong>{$a->name}</strong> enrolment instance allows unrestricted self enrolment from {$a->from} on.';
$string['showhintcourseselfenrolsince'] = 'The <strong>{$a->name}</strong> enrolment instance allows unrestricted self enrolment currently.';
$string['showhintcourseselfenrolfromuntil'] = 'The <strong>{$a->name}</strong> enrolment instance allows unrestricted self enrolment from {$a->from} until {$a->until}.';
$string['showhintcourseselfenrolsinceuntil'] = 'The <strong>{$a->name}</strong> enrolment instance allows unrestricted self enrolment until {$a->until}.';
$string['showhintcourseselfenrolinstancecallforaction'] = 'If you don\'t want that any Moodle user can enrol into this course freely, please restrict the self enrolment settings.';
$string['switchroleto'] = 'Switch role to';
$string['yes_close'] = "Yes, close!";
......
......@@ -119,81 +119,116 @@ Feature: Configuring the theme_boost_campus plugin for the "Course Layout settin
Then I should not see "You are currently viewing this course as Guest."
And ".course-guestaccess-infobox" "css_element" should not exist
Scenario: Enable "Show hint for unrestricted self enrolment"
Scenario: Enable "Show hint for self enrolment without enrolment key"
Given the following config values are set as admin:
| config | value | plugin |
| showhintcourseselfenrol | yes | theme_boost_campus |
When I log in as "teacher1"
And I am on "Course 1" course homepage
Then I should not see "This course is currently visible and an unrestricted self enrolment is active:"
Then I should not see "This course is currently visible and self enrolment without enrolment key is"
And ".course-selfenrol-infobox" "css_element" should not exist
And I navigate to "Users > Enrolment methods" in current page administration
When I click on "Enable" "link" in the "Self enrolment (Student)" "table_row"
And I am on "Course 1" course homepage
Then I should see "This course is currently visible and an unrestricted self enrolment is active: \"Self enrolment (Student)\"."
Then I should see "This course is currently visible and self enrolment without enrolment key is"
And ".course-selfenrol-infobox" "css_element" should exist
And I log out
When I log in as "student1"
And I am on "Course 1" course homepage
Then I should not see "This course is currently visible and an unrestricted self enrolment is active: \"Self enrolment (Student)\""
Then I should not see "This course is currently visible and self enrolment without enrolment key is"
And ".course-selfenrol-infobox" "css_element" should not exist
Scenario: Enable "Show hint for unrestricted self enrolment" and check that it is hidden when new enrolments are disabled
Scenario: Enable "Show hint for self enrolment without enrolment key" and check that the call for action is shown
Given the following config values are set as admin:
| config | value | plugin |
| showhintcourseselfenrol | yes | theme_boost_campus |
And the following "users" exist:
| username |
| teacher2 |
And the following "course enrolments" exist:
| user | course | role |
| teacher2 | C1 | teacher |
When I log in as "teacher1"
And I am on "Course 1" course homepage
Then I should not see "This course is currently visible and self enrolment without enrolment key is"
And I should not see "If you don't want that any Moodle user can enrol into this course freely, please restrict the self enrolment settings."
And ".course-selfenrol-infobox" "css_element" should not exist
And I navigate to "Users > Enrolment methods" in current page administration
When I click on "Enable" "link" in the "Self enrolment (Student)" "table_row"
And I am on "Course 1" course homepage
Then I should see "This course is currently visible and self enrolment without enrolment key is"
And I should see "If you don't want that any Moodle user can enrol into this course freely, please restrict the self enrolment settings."
And ".course-selfenrol-infobox" "css_element" should exist
And I log out
When I log in as "teacher2"
And I am on "Course 1" course homepage
Then I should see "This course is currently visible and self enrolment without enrolment key is"
And I should not see "If you don't want that any Moodle user can enrol into this course freely, please restrict the self enrolment settings."
And ".course-selfenrol-infobox" "css_element" should exist
And I log out
When I log in as "student1"
And I am on "Course 1" course homepage
Then I should not see "This course is currently visible and self enrolment without enrolment key is"
And I should not see "If you don't want that any Moodle user can enrol into this course freely, please restrict the self enrolment settings."
And ".course-selfenrol-infobox" "css_element" should not exist
Scenario: Enable "Show hint for self enrolment without enrolment key" and check that it is hidden when new enrolments are disabled
Given the following config values are set as admin:
| config | value | plugin |
| showhintcourseselfenrol | yes | theme_boost_campus |
When I log in as "teacher1"
And I am on "Course 1" course homepage
Then I should not see "This course is currently visible and an unrestricted self enrolment is active:"
Then I should not see "This course is currently visible and self enrolment without enrolment key is"
And ".course-selfenrol-infobox" "css_element" should not exist
And I navigate to "Users > Enrolment methods" in current page administration
When I click on "Enable" "link" in the "Self enrolment (Student)" "table_row"
And I am on "Course 1" course homepage
Then I should see "This course is currently visible and an unrestricted self enrolment is active: \"Self enrolment (Student)\"."
Then I should see "This course is currently visible and self enrolment without enrolment key is"
And ".course-selfenrol-infobox" "css_element" should exist
When I click on "enrolment settings" "link" in the ".course-selfenrol-infobox" "css_element"
When I click on "Self enrolment (Student)" "link" in the ".course-selfenrol-infobox" "css_element"
And I set the following fields to these values:
| Allow new enrolments | 0 |
And I press "Save changes"
And I am on "Course 1" course homepage
Then I should not see "This course is currently visible and an unrestricted self enrolment is active: \"Self enrolment (Student)\""
Then I should not see "This course is currently visible and self enrolment without enrolment key is"
And ".course-selfenrol-infobox" "css_element" should not exist
Scenario: Enable "Show hint for unrestricted self enrolment" and check that it is hidden when a password is set
Scenario: Enable "Show hint for self enrolment without enrolment key" and check that it is hidden when a password is set
Given the following config values are set as admin:
| config | value | plugin |
| showhintcourseselfenrol | yes | theme_boost_campus |
When I log in as "teacher1"
And I am on "Course 1" course homepage
Then I should not see "This course is currently visible and an unrestricted self enrolment is active:"
Then I should not see "This course is currently visible and self enrolment without enrolment key is"
And ".course-selfenrol-infobox" "css_element" should not exist
And I navigate to "Users > Enrolment methods" in current page administration
When I click on "Enable" "link" in the "Self enrolment (Student)" "table_row"
And I am on "Course 1" course homepage
Then I should see "This course is currently visible and an unrestricted self enrolment is active: \"Self enrolment (Student)\"."
Then I should see "This course is currently visible and self enrolment without enrolment key is"
And ".course-selfenrol-infobox" "css_element" should exist
When I click on "enrolment settings" "link" in the ".course-selfenrol-infobox" "css_element"
When I click on "Self enrolment (Student)" "link" in the ".course-selfenrol-infobox" "css_element"
And I set the following fields to these values:
| Enrolment key | 1234 |
And I press "Save changes"
And I am on "Course 1" course homepage
Then I should not see "This course is currently visible and an unrestricted self enrolment is active: \"Self enrolment (Student)\""
Then I should not see "This course is currently visible and self enrolment without enrolment key is"
And ".course-selfenrol-infobox" "css_element" should not exist
Scenario: Enable "Show hint for unrestricted self enrolment and check that it is hidden when appropriate start and / or end dates are set"
Scenario: Enable "Show hint for self enrolment without enrolment key" and check the hints depending on the configured start and / or end dates
Given the following config values are set as admin:
| config | value | plugin |
| showhintcourseselfenrol | yes | theme_boost_campus |
When I log in as "teacher1"
And I am on "Course 1" course homepage
Then I should not see "This course is currently visible and an unrestricted self enrolment is active:"
Then I should not see "This course is currently visible and self enrolment without enrolment key is"
And ".course-selfenrol-infobox" "css_element" should not exist
And I navigate to "Users > Enrolment methods" in current page administration
When I click on "Enable" "link" in the "Self enrolment (Student)" "table_row"
And I am on "Course 1" course homepage
Then I should see "This course is currently visible and an unrestricted self enrolment is active: \"Self enrolment (Student)\"."
Then I should see "This course is currently visible and self enrolment without enrolment key is currently possible."
And I should see "The Self enrolment (Student) enrolment instance allows unrestricted self enrolment infinitely."
And ".course-selfenrol-infobox" "css_element" should exist
When I click on "enrolment settings" "link" in the ".course-selfenrol-infobox" "css_element"
When I click on "Self enrolment (Student)" "link" in the ".course-selfenrol-infobox" "css_element"
And I set the following fields to these values:
| id_enrolstartdate_enabled | 0 |
| id_enrolenddate_enabled | 1 |
......@@ -205,7 +240,7 @@ Feature: Configuring the theme_boost_campus plugin for the "Course Layout settin
| id_enrolenddate_minute | 00 |
And I press "Save changes"
And I am on "Course 1" course homepage
Then I should not see "This course is currently visible and an unrestricted self enrolment is active: \"Self enrolment (Student)\""
Then I should not see "This course is currently visible and self enrolment without enrolment key is"
And ".course-selfenrol-infobox" "css_element" should not exist
When I navigate to "Users > Enrolment methods" in current page administration
And I click on "Edit" "link" in the "Self enrolment (Student)" "table_row"
......@@ -220,7 +255,8 @@ Feature: Configuring the theme_boost_campus plugin for the "Course Layout settin
| id_enrolenddate_minute | 00 |
And I press "Save changes"
And I am on "Course 1" course homepage
Then I should see "This course is currently visible and an unrestricted self enrolment is active: \"Self enrolment (Student)\"."
Then I should see "This course is currently visible and self enrolment without enrolment key is currently possible."
And I should see "The Self enrolment (Student) enrolment instance allows unrestricted self enrolment until Saturday, 1 January 2050, 12:00 AM."
And ".course-selfenrol-infobox" "css_element" should exist
When I navigate to "Users > Enrolment methods" in current page administration
And I click on "Edit" "link" in the "Self enrolment (Student)" "table_row"
......@@ -235,7 +271,8 @@ Feature: Configuring the theme_boost_campus plugin for the "Course Layout settin
| id_enrolenddate_enabled | 0 |
And I press "Save changes"
And I am on "Course 1" course homepage
Then I should see "This course is currently visible and an unrestricted self enrolment is active: \"Self enrolment (Student)\"."
Then I should see "This course is currently visible and self enrolment without enrolment key is currently possible."
And I should see "The Self enrolment (Student) enrolment instance allows unrestricted self enrolment currently."
And ".course-selfenrol-infobox" "css_element" should exist
When I navigate to "Users > Enrolment methods" in current page administration
And I click on "Edit" "link" in the "Self enrolment (Student)" "table_row"
......@@ -250,8 +287,9 @@ Feature: Configuring the theme_boost_campus plugin for the "Course Layout settin
| id_enrolenddate_enabled | 0 |
And I press "Save changes"
And I am on "Course 1" course homepage
Then I should not see "This course is currently visible and an unrestricted self enrolment is active: \"Self enrolment (Student)\"."
And ".course-selfenrol-infobox" "css_element" should not exist
Then I should see "This course is currently visible and self enrolment without enrolment key is planned to become possible."
And I should see "The Self enrolment (Student) enrolment instance allows unrestricted self enrolment from Saturday, 1 January 2050, 12:00 AM on."
And ".course-selfenrol-infobox" "css_element" should exist
When I navigate to "Users > Enrolment methods" in current page administration
And I click on "Edit" "link" in the "Self enrolment (Student)" "table_row"
And I set the following fields to these values:
......@@ -271,8 +309,9 @@ Feature: Configuring the theme_boost_campus plugin for the "Course Layout settin
| id_enrolenddate_minute | 00 |
And I press "Save changes"
And I am on "Course 1" course homepage
Then I should not see "This course is currently visible and an unrestricted self enrolment is active: \"Self enrolment (Student)\"."
And ".course-selfenrol-infobox" "css_element" should not exist
Then I should see "This course is currently visible and self enrolment without enrolment key is planned to become possible."
And I should see "The Self enrolment (Student) enrolment instance allows unrestricted self enrolment from Saturday, 1 January 2050, 12:00 AM until Sunday, 2 January 2050, 12:00 AM."
And ".course-selfenrol-infobox" "css_element" should exist
When I navigate to "Users > Enrolment methods" in current page administration
And I click on "Edit" "link" in the "Self enrolment (Student)" "table_row"
And I set the following fields to these values:
......@@ -292,7 +331,8 @@ Feature: Configuring the theme_boost_campus plugin for the "Course Layout settin
| id_enrolenddate_minute | 00 |
And I press "Save changes"
And I am on "Course 1" course homepage
Then I should see "This course is currently visible and an unrestricted self enrolment is active: \"Self enrolment (Student)\"."
Then I should see "This course is currently visible and self enrolment without enrolment key is currently possible."
And I should see "The Self enrolment (Student) enrolment instance allows unrestricted self enrolment until Saturday, 1 January 2050, 12:00 AM."
And ".course-selfenrol-infobox" "css_element" should exist
When I navigate to "Users > Enrolment methods" in current page administration
And I click on "Edit" "link" in the "Self enrolment (Student)" "table_row"
......@@ -313,28 +353,40 @@ Feature: Configuring the theme_boost_campus plugin for the "Course Layout settin
| id_enrolenddate_minute | 00 |
And I press "Save changes"
And I am on "Course 1" course homepage
Then I should not see "This course is currently visible and an unrestricted self enrolment is active: \"Self enrolment (Student)\"."
Then I should not see "This course is currently visible and self enrolment without enrolment key is"
And ".course-selfenrol-infobox" "css_element" should not exist
Scenario: Enable "Show hint for unrestricted self enrolment and add more than one self enrolment instance"
Scenario: Enable "Show hint for self enrolment without enrolment key" and add more than one self enrolment instance
Given the following config values are set as admin:
| config | value | plugin |
| showhintcourseselfenrol | yes | theme_boost_campus |
When I log in as "teacher1"
And I am on "Course 1" course homepage
Then I should not see "This course is currently visible and an unrestricted self enrolment is active"
Then I should not see "This course is currently visible and self enrolment without enrolment key is"
And ".course-selfenrol-infobox" "css_element" should not exist
And I navigate to "Users > Enrolment methods" in current page administration
When I click on "Enable" "link" in the "Self enrolment (Student)" "table_row"
And I am on "Course 1" course homepage
Then I should see "This course is currently visible and an unrestricted self enrolment is active: \"Self enrolment (Student)\"."
Then I should see "This course is currently visible and self enrolment without enrolment key is"
And I should see "The Self enrolment (Student) enrolment instance allows unrestricted self enrolment infinitely."
And ".course-selfenrol-infobox" "css_element" should exist
When I add "Self enrolment" enrolment method with:
| Custom instance name | Custom self enrolment |
And I navigate to "Users > Enrolment methods" in current page administration
And I click on "Edit" "link" in the "Custom self enrolment" "table_row"
And I set the following fields to these values:
| id_enrolstartdate_enabled | 0 |
| id_enrolenddate_enabled | 1 |
# We can't use the ##tomorrow## notation here. This test will break in the year 2050.
| id_enrolenddate_day | 1 |
| id_enrolenddate_month | January |
| id_enrolenddate_year | 2050 |
| id_enrolenddate_hour | 00 |
| id_enrolenddate_minute | 00 |
And I press "Save changes"
And I am on "Course 1" course homepage
Then I should see "This course is currently visible and an unrestricted self enrolment is active: \"Self enrolment (Student)\"."
And ".course-selfenrol-infobox" "css_element" should exist
And I should see "This course is currently visible and an unrestricted self enrolment is active: \"Custom self enrolment\"."
Then I should see "This course is currently visible and self enrolment without enrolment key is currently possible."
And I should see "The Self enrolment (Student) enrolment instance allows unrestricted self enrolment infinitely. The Custom self enrolment enrolment instance allows unrestricted self enrolment until Saturday, 1 January 2050, 12:00 AM."
And ".course-selfenrol-infobox" "css_element" should exist
When I navigate to "Users > Enrolment methods" in current page administration
And I click on "Edit" "link" in the "Self enrolment (Student)" "table_row"
......@@ -342,8 +394,8 @@ Feature: Configuring the theme_boost_campus plugin for the "Course Layout settin
| Enrolment key | 1234 |
And I press "Save changes"
And I am on "Course 1" course homepage
Then I should not see "This course is currently visible and an unrestricted self enrolment is active: \"Self enrolment (Student)\"."
And I should see "This course is currently visible and an unrestricted self enrolment is active: \"Custom self enrolment\"."
Then I should see "This course is currently visible and self enrolment without enrolment key is currently possible."
And I should see "The Custom self enrolment enrolment instance allows unrestricted self enrolment until Saturday, 1 January 2050, 12:00 AM."
And ".course-selfenrol-infobox" "css_element" should exist
@javascript
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment