MDL-61135 mod_quiz: move fragment_view functions to custom_view class

This commit is contained in:
Simey Lameze 2018-02-13 10:08:22 +08:00
parent f40d707dbf
commit fc23bc85cf
2 changed files with 39 additions and 1 deletions

View file

@ -238,4 +238,42 @@ class custom_view extends \core_question\bank\view {
protected function create_new_question_form($category, $canadd) {
// Don't display this.
}
/**
* Override the base implementation in \core_question\bank\view
* because we don't want to print the headers in the fragment
* for the modal.
*/
protected function display_question_bank_header() {
}
/**
* Override the base implementation in \core_question\bank\view
* because we don't want it to read from the $_POST global variables
* for the sort parameters since they are not present in a fragment.
*
* Unfortunately the best we can do is to look at the URL for
* those parameters (only marginally better really).
*/
protected function init_sort_from_params() {
$this->sort = [];
for ($i = 1; $i <= self::MAX_SORTS; $i++) {
if (!$sort = $this->baseurl->param('qbs' . $i)) {
break;
}
// Work out the appropriate order.
$order = 1;
if ($sort[0] == '-') {
$order = -1;
$sort = substr($sort, 1);
if (!$sort) {
break;
}
}
// Deal with subsorts.
list($colname, $subsort) = $this->parse_subsort($sort);
$this->requiredcolumns[$colname] = $this->get_column_type($colname);
$this->sort[$sort] = $order;
}
}
}

View file

@ -2436,7 +2436,7 @@ function mod_quiz_output_fragment_quiz_question_bank($args) {
require_capability('mod/quiz:manage', $contexts->lowest());
// Create quiz question bank view.
$questionbank = new mod_quiz\question\bank\fragment_view($contexts, $thispageurl, $course, $cm, $quiz);
$questionbank = new mod_quiz\question\bank\custom_view($contexts, $thispageurl, $course, $cm, $quiz);
$questionbank->set_quiz_has_attempts(quiz_has_attempts($quiz->id));
// Output.