mirror of
https://github.com/moodle/moodle.git
synced 2025-04-13 12:32:08 +02:00
MDL-69906 admin: Display Setup search engine as link only if it is valid
We use auto-generated admin section name here so we need to check that the target section actually exists.
This commit is contained in:
parent
46f977a8bf
commit
b295a88821
@ -11118,7 +11118,7 @@ class admin_setting_searchsetupinfo extends admin_setting {
|
||||
* @return string
|
||||
*/
|
||||
public function output_html($data, $query='') {
|
||||
global $CFG, $OUTPUT;
|
||||
global $CFG, $OUTPUT, $ADMIN;
|
||||
|
||||
$return = '';
|
||||
$brtag = html_writer::empty_tag('br');
|
||||
@ -11180,9 +11180,13 @@ class admin_setting_searchsetupinfo extends admin_setting {
|
||||
$row[0] = '3. ' . get_string('setupsearchengine', 'admin');
|
||||
$row[1] = html_writer::tag('span', get_string('no'), array('class' => 'badge badge-danger'));
|
||||
} else {
|
||||
$url = new moodle_url('/admin/settings.php?section=search' . $CFG->searchengine);
|
||||
$row[0] = '3. ' . html_writer::tag('a', get_string('setupsearchengine', 'admin'),
|
||||
array('href' => $url));
|
||||
if ($ADMIN->locate('search' . $CFG->searchengine)) {
|
||||
$url = new moodle_url('/admin/settings.php?section=search' . $CFG->searchengine);
|
||||
$row[0] = '3. ' . html_writer::link($url, get_string('setupsearchengine', 'core_admin'));
|
||||
} else {
|
||||
$row[0] = '3. ' . get_string('setupsearchengine', 'core_admin');
|
||||
}
|
||||
|
||||
// Check the engine status.
|
||||
$searchengine = \core_search\manager::search_engine_instance();
|
||||
try {
|
||||
|
22
search/tests/behat/setup_search_engine.feature
Normal file
22
search/tests/behat/setup_search_engine.feature
Normal file
@ -0,0 +1,22 @@
|
||||
@core @core_search
|
||||
Feature: Plugins > Search > Search setup contains Setup search engine only if the target section actually exists
|
||||
In order to set up the selected search engine
|
||||
As an admin
|
||||
I need to be able to click the link 'Setup search engine' but only if the target section actually exists
|
||||
|
||||
Scenario: Selected search engine has an admin section
|
||||
Given the following config values are set as admin:
|
||||
| enableglobalsearch | 1 |
|
||||
| searchengine | solr |
|
||||
And I log in as "admin"
|
||||
When I navigate to "Plugins > Search" in site administration
|
||||
Then "Setup search engine" "link" should exist
|
||||
|
||||
Scenario: Selected search engine does not have an admin section
|
||||
Given the following config values are set as admin:
|
||||
| enableglobalsearch | 1 |
|
||||
| searchengine | simpledb |
|
||||
And I log in as "admin"
|
||||
When I navigate to "Plugins > Search" in site administration
|
||||
Then I should see "Setup search engine"
|
||||
And "Setup search engine" "link" should not exist
|
Loading…
x
Reference in New Issue
Block a user