MDL-74041 quiz: use own size for paging the question bank

This commit is contained in:
Tim Hunt 2022-03-03 12:33:03 +00:00
parent 10e8ffe312
commit aac5b47cea
4 changed files with 29 additions and 12 deletions

View file

@ -36,6 +36,8 @@ use mod_quiz\question\bank\filter\custom_category_condition;
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class custom_view extends \core_question\local\bank\view {
/** @var int number of questions per page to show in the add from question bank modal. */
const DEFAULT_PAGE_SIZE = 20;
/** @var bool $quizhasattempts whether the quiz this is used by has been attemptd. */
protected $quizhasattempts = false;
@ -57,6 +59,7 @@ class custom_view extends \core_question\local\bank\view {
public function __construct($contexts, $pageurl, $course, $cm, $quiz) {
parent::__construct($contexts, $pageurl, $course, $cm);
$this->quiz = $quiz;
$this->pagesize = self::DEFAULT_PAGE_SIZE;
}
protected function get_question_bank_plugins(): array {

View file

@ -28,6 +28,8 @@
defined('MOODLE_INTERNAL') || die();
use mod_quiz\question\bank\custom_view;
require_once($CFG->dirroot . '/calendar/lib.php');
@ -2382,14 +2384,14 @@ function mod_quiz_output_fragment_quiz_question_bank($args) {
// Build the required resources. The $params are all cleaned as
// part of this process.
list($thispageurl, $contexts, $cmid, $cm, $quiz, $pagevars) =
question_build_edit_resources('editq', '/mod/quiz/edit.php', $params);
question_build_edit_resources('editq', '/mod/quiz/edit.php', $params, custom_view::DEFAULT_PAGE_SIZE);
// Get the course object and related bits.
$course = $DB->get_record('course', array('id' => $quiz->course), '*', MUST_EXIST);
require_capability('mod/quiz:manage', $contexts->lowest());
// Create quiz question bank view.
$questionbank = new mod_quiz\question\bank\custom_view($contexts, $thispageurl, $course, $cm, $quiz);
$questionbank = new custom_view($contexts, $thispageurl, $course, $cm, $quiz);
$questionbank->set_quiz_has_attempts(quiz_has_attempts($quiz->id));
// Output.