Skip to content

Commit

Permalink
MDL-61837 core_question: replace tag fields on tag modal
Browse files Browse the repository at this point in the history
  • Loading branch information
lameze committed Apr 9, 2018
1 parent 2bd2660 commit a9b3410
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 7 deletions.
6 changes: 5 additions & 1 deletion question/classes/external.php
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@

require_once("$CFG->libdir/externallib.php");
require_once($CFG->dirroot . '/question/engine/lib.php');
require_once($CFG->libdir . '/questionlib.php');

/**
* Question external functions
Expand Down Expand Up @@ -166,9 +167,12 @@ public static function submit_tags_form($questionid, $contextid, $formdata) {

$cantag = question_has_capability_on($question, 'tag');
$questioncontext = \context::instance_by_id($question->contextid);
$contexts = new \question_edit_contexts($editingcontext);

$formoptions = [
'editingcontext' => $editingcontext,
'questioncontext' => $questioncontext
'questioncontext' => $questioncontext,
'contexts' => $contexts->all()
];

$mform = new \core_question\form\tags(null, $formoptions, 'post', '', null, $cantag, $data);
Expand Down
4 changes: 3 additions & 1 deletion question/lib.php
Original file line number Diff line number Diff line change
Expand Up @@ -58,10 +58,12 @@ function core_question_output_fragment_tags_form($args) {

$category = $question->categoryobject;
$questioncontext = \context::instance_by_id($category->contextid);
$contexts = new \question_edit_contexts($editingcontext);

$formoptions = [
'editingcontext' => $editingcontext,
'questioncontext' => $questioncontext
'questioncontext' => $questioncontext,
'contexts' => $contexts->all()
];
$data = [
'id' => $question->id,
Expand Down
19 changes: 14 additions & 5 deletions question/type/tags_form.php
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
defined('MOODLE_INTERNAL') || die();

require_once($CFG->dirroot . '/lib/formslib.php');

require_once($CFG->dirroot . '/lib/questionlib.php');
/**
* The mform class for manage question tags.
*
Expand Down Expand Up @@ -59,8 +59,18 @@ public function definition() {
$mform->addElement('static', 'context', '');

if (\core_tag_tag::is_enabled('core_question', 'question')) {
$mform->addElement('tags', 'tags', get_string('tags'),
['itemtype' => 'question', 'component' => 'core_question']);
$tags = \core_tag_tag::get_tags_by_area_in_contexts('core_question', 'question', $customdata['contexts']);
$tagstrings = [];
foreach ($tags as $tag) {
$tagstrings[$tag->name] = $tag->name;
}

$options = [
'tags' => true,
'multiple' => true,
'noselectionstring' => get_string('anytags', 'quiz'),
];
$mform->addElement('autocomplete', 'tags', get_string('tags'), $tagstrings, $options);

// Is the question category in a course context?
$qcontext = $customdata['questioncontext'];
Expand All @@ -77,8 +87,7 @@ public function definition() {
// allow course tags to be added to the course.
$coursetagheader = get_string('questionformtagheader', 'core_question',
$editingcoursecontext->get_context_name(true));
$mform->addElement('tags', 'coursetags', $coursetagheader,
array('itemtype' => 'question', 'component' => 'core_question'));
$mform->addElement('autocomplete', 'coursetags', $coursetagheader, $tagstrings, $options);

}
}
Expand Down

0 comments on commit a9b3410

Please sign in to comment.