Changes include:
* question: Add bootstrap classes to buttons and selects so they look consistent.
* mod_quiz: Add bootstrap styles to report form elements
* question: Add bootstrap classes to question form elements
* And remove the success/fail styles from boost because they conflict badly
with the quiz plugin styles (making unreadable text).
* quiz: nav block buttons had black background
* quiz: Add bootstrap styles to quiz navigation buttons
* qtype_ddmarker: Remove bullets from list
Edit form coordinates preview had list bullets for each coordinate.
* boost: Prevent menu scrolling on quiz edit
* mod_quiz: Add bootstrap styles to edit quiz fields
Pagination and max grades forms.
* quiz: Undo some custom styles on review options
These checkboxes were laid out in a fake grid with no responsiveness
that conflicts with the bootstrap form-inline templates. Reset the
custom style to bootstrap default.
* quiz: Fix unit tests for boost changes
* qtype_ddwtos: Accurate positioning of drop targets
* questions: Make the review page responsive
* question: bootstrap 4 compatibility
.alert in bs4 contains no colours by default, you need to mix it with
one of the context classes to get some change in colours, borders etc.
The sequence of questions that made up a quiz used to be stored as a
comma-separated list in quiz.questions. Now the same information is
stored in the rows in the quiz_slots table. This is not just 'better' in
a database design sense, but it allows for the future changes we will
need as we enhance the quiz in the MDL-40987 epic.
Having changed the database structure, all the rest of the code needs to
be changed to account for it, and that is done here.
Note that there are not many unit tests for the changed bit. That is
because as part of MDL-40987 we will be changing the code further, and
we will add unit tests then.
* FEATURE_USES_QUESTION_BANK is now a module_supports flag which declares
that an activity uses the question engine.
* question_module_uses_questions can be used to determine if a module
uses the question bank.
Sometimes it is necssary to display parts of a question outside of an
attempt. For example for staff review. When displaying the question, we
need to handle images in the question text. In the past there was a
mechanism for this that could only cope with the question text.
This commit introduces a new method that can handle displaying any
part of the question content.
This commit intentionally does not upgrade the parts of the system that
use the mecanism. That is so that this commit can be used to demonstrate
that backwards-compatibility works. The next commit will upgrade the
callers.
Even in the 'Error if grade not listed case', it was applying a small
tolerance. In the case of a fuzzy match, it was returning the inexact
grade from the import file, rather than the precise grade that Moodle
was expecting.
That causes problems when the editing form is displayed, because the
value from the database does not match any of the available options, so
the grade is changed to 0%.
NUMBER(X,Y) typically come back from the DB as strings. If you don't
convert them to float, then when you display them, it appears as
1.0000000, which is not normally what you want.
Also, increase the size of the field on the edit form, so if you
question does have default mark 0.1234567, you can see that!