Skip to content

Commit

Permalink
Merge branch 'MDL-62532-35' of git://github.com/rezaies/moodle into M…
Browse files Browse the repository at this point in the history
…OODLE_35_STABLE
  • Loading branch information
David Monllao committed May 30, 2018
2 parents c6755d6 + b23e651 commit 187d2a2
Show file tree
Hide file tree
Showing 2 changed files with 46 additions and 0 deletions.
32 changes: 32 additions & 0 deletions question/tests/behat/edit_questions_standard_tags.feature
@@ -0,0 +1,32 @@
@core @core_question @javascript
Feature: The questions can be tagged
In order to tag questions
As a teacher
I want to see the standard tags in the tags field

Background:
Given the following "users" exist:
| username | firstname | lastname | email |
| teacher1 | Teacher | 1 | teacher1@example.com |
And the following "courses" exist:
| fullname | shortname | format |
| Course 1 | C1 | weeks |
And the following "course enrolments" exist:
| user | course | role |
| teacher1 | C1 | editingteacher |
And the following "tags" exist:
| name | isstandard |
| foo | 1 |
| bar | 1 |

Scenario: The tags autocomplete should include standard tags
When I log in as "teacher1"
And I am on "Course 1" course homepage
And I navigate to "Questions" node in "Course administration > Question bank"
And I press "Create a new question ..."
And I set the field "item_qtype_truefalse" to "1"
And I press "Add"
And I expand all fieldsets
And I open the autocomplete suggestions list
Then "foo" "autocomplete_suggestions" should exist
And "bar" "autocomplete_suggestions" should exist
14 changes: 14 additions & 0 deletions question/type/edit_question_form.php
Expand Up @@ -316,6 +316,8 @@ protected function get_per_answer_fields($mform, $label, $gradeoptions,
* @param object $mform The form being built * @param object $mform The form being built
*/ */
protected function add_tag_fields($mform) { protected function add_tag_fields($mform) {
global $CFG, $DB;

$hastagcapability = question_has_capability_on($this->question, 'tag'); $hastagcapability = question_has_capability_on($this->question, 'tag');
// Is the question category in a course context? // Is the question category in a course context?
$qcontext = $this->categorycontext; $qcontext = $this->categorycontext;
Expand All @@ -332,6 +334,18 @@ protected function add_tag_fields($mform) {
foreach ($tags as $tag) { foreach ($tags as $tag) {
$tagstrings[$tag->name] = $tag->name; $tagstrings[$tag->name] = $tag->name;
} }

$showstandard = core_tag_area::get_showstandard('core_question', 'question');
if ($showstandard != core_tag_tag::HIDE_STANDARD) {
$namefield = empty($CFG->keeptagnamecase) ? 'name' : 'rawname';
$standardtags = $DB->get_records('tag',
array('isstandard' => 1, 'tagcollid' => core_tag_area::get_collection('core', 'question')),
$namefield, 'id,' . $namefield);
foreach ($standardtags as $standardtag) {
$tagstrings[$standardtag->$namefield] = $standardtag->$namefield;
}
}

$options = [ $options = [
'tags' => true, 'tags' => true,
'multiple' => true, 'multiple' => true,
Expand Down

0 comments on commit 187d2a2

Please sign in to comment.