- Highlight the row and adds a badge to indicate that a question
is invalid, to make it much clearer.
- Remove the bulk action checkbox
- Fixes usage count and comments links for missingtype questions.
- Add new behat tests and fix up some existing ones to work
with new logic.
This adds the "Show All" button to the question bank filters
to allow users to select all questions easily.
It also adds new behat tests to test the functionality.
Random questions set to question categories which no longer exist
was throwing an error making it impossible to use or edit the quiz
to fix it. This will now allow the user to view the questions and
edit the quiz in order to fix the problem of the missing category.
This fixes the bug where if the latest version of the question is hidden,
the question disappears, even if older versions exist that are still visible.
When a question bank is created by the system, it's name may be created
by combining a course of category name with a language string. If the
course name is already near the limit for its database field, the
resulting question bank name may be too long for that field, and cause
an error.
This implements a function for generating question bank names which will
trim string parameters down until the resulting name is below the
allowed length. It also implements some validation to prevent
manually-created banks with names that are too long.
- Adds the "cat" field to the converted legacy filter, which was
missing.
- Does the conversion on the editrandom.php page as this was
throwing a warning.
This corrects some definitions of the methods in the base condition
class to make things more obvious to developers implementing new
filters.
Previously if your filter wanted to use the default
`core/datafilter/filtertype` class, you still had to implement
`get_filter_class` to return `null`, since it was declared as abstract.
This change defines it as returning `null` by default, so this is no
longer necessary.
Also, this removes the default definitions for `get_condition_key` and
`build_query_from_functions`, and declares them abstract. Currently it
is necessary to override these to implement a functional filter so it
doesn't make sense to have a useless default definition.
This will not cause any breakages with existing filters. All filters
must already be defining the methods that are now abstract, otherwise
they will not function. Any filter that is now overriding
`get_filter_class` to return `null` will continue to work as before,
even though this is no longer necessary.
This splits the API functions required for the reorganised category UI,
to properly separate the qbank_managecategories and core_question APIs.
This methods that were part of question_category_object that should live
in the core_question namespace (generate CRUD operations related to
categories) are moved to the new \core_question\category_manager class.
The parts that belong in the qbank_managecategories plugin as they are
used to display the editing UI are moved to the
\qbank_managecategories\question_categories class.
Static methods that were defined in \qbank_managecategories\helper and
were only used within methods that have been moved to one of the new
classes have been deprecated and moved to those new classes as well.
This will allow the entire
\qbank_managecategories\question_category_object class to be deprecated
in the following commit.
When the question custom fields were deleted, if there were any
hidden columns in qbank Column sort order referring those fields they
were throwing 'Custom field does not exist' exception. Changes done to
ignore such fields and display valid hiddencols, as these references
were breaking the qbank Column sort order and Question bank pages.