Commit Graph

4809 Commits

Author SHA1 Message Date
Andrew Nicols 94de1567c3 MDL-74054 qbank_columnsortorder: Move away from ModalFactory 2023-09-22 10:53:53 +08:00
Mark Johnson 33e52fe4ed MDL-74054 qbank_viewquestiontext: Convert from filter to question bank control
This replaces the "Show question text in the question list?" filter, which was
never really a filter, with a new widget displayed alongside other question bank
controls like "Create a new question" and "Reset columns".

It also refactors the logic of displaying the question text field or not, so that
it is all handled within the qbank_viewquestiontext plugin rather than relying on
code in the view.
2023-09-22 10:53:53 +08:00
Mark Johnson 63894ec2fe MDL-74054 qbank_columnsortorder: Progressively enhance question bank actions
This modifies the question_data fragment used by the filter code to make its
parameters closer to the URL parameters of the question/edit.php page. This
Allows us to progressively enhance the add, remove and reset actions on the
question bank page, using this same fragment to reload the question table after
each change. This re-uses the same actions.js module used for enhancing these
actions on the qbank_columnsortorder admin screen.
2023-09-22 10:53:52 +08:00
Mark Johnson 3685a3355f MDL-74054 qbank: Updates to plugins to support qbank customisation 2023-09-22 10:53:52 +08:00
Mark Johnson 93ca1cdc32 MDL-74054 theme: Style changes to support question bank UI cusomisation 2023-09-22 10:53:52 +08:00
Mark Johnson 37d69fff6b MDL-74054 qbank_columnsortorder: Implement add, remove and resize
This updates the admin interface, and hooks into the question bank view
for users to override admin defaults with their preferences.
2023-09-22 10:53:52 +08:00
Mark Johnson 6001ee3dfd MDL-74054 core_question: Define unique question bank column IDs
This also resolves MDL-78829.
Some question bank plugins use a separate class for each plugin they
define. However, qbank_customfields (and potentially others in the
future) uses a single class to define multiple fields. Using the class
name as an ID for the column doesn't give us a way of reliable
instantiating an object for the column. Previously, qbank_customfields
appended the field name as though it was a namespaced class, but this
had to be manually constructed and deconstructed by detecting this
particular column class.

This change introduces a standard way of constructing a unique ID for
each question bank column, in the form
pluginname\columnclass-columnname. This ensures that the ID will be
unique for each column, and the ID can be used to instatiate the
column's object.
2023-09-22 10:53:51 +08:00
Nathan Nguyen 2be0e10a80 MDL-74054 core_question: Add additional plugin points
This refactors the question bank view class to support new plugin points
required for the question bank UI customisation features.
2023-09-22 10:53:51 +08:00
Mark Johnson feef716c91 MDL-74054 core_question: Re-apply filters when performing a qbank action
This changes the root element used by the fragment when
applying filters, so that the whole of display_question_list()
is reloaded.

This ensures that the returnurl will be updated correctly on the
question actions and bulk actions without manipulating then
further in Javascript.
2023-09-22 10:53:46 +08:00
Huong Nguyen 1ed52c0019 Merge branch 'MDL-79332' of https://github.com/timhunt/moodle 2023-09-18 18:55:53 +07:00
Sara Arjona 3079511dc7 NOBUG: Fixed SVG browser compatibility 2023-09-15 17:33:23 +02:00
Ilya Tregubov 259ec50af6 Merge branch 'luca-branch' of https://github.com/ilyatregubov/moodle 2023-09-15 17:05:27 +08:00
Huong Nguyen 50a74f6a2d Merge branch 'MDL-67271-master' of https://github.com/sarjona/moodle 2023-09-13 11:15:22 +07:00
Luca Bösch c37a4ba29a MDL-79226 questions: check for UTF-8 encoding of the import file 2023-09-12 20:39:42 +02:00
Tim Hunt a047d2f8b4 MDL-79332 Question stats: make loading robust to bad data
We were experiencing problems caused by old stats analysis in our
database, computed when there was a bug, causing fatal errors
when they were displayed. Therefore, this code needs to be robust to that.
2023-09-12 16:58:25 +01:00
Sara Arjona 87589e07fc MDL-67271 pix: Add missing SVG files
The absence of SVG files has been addressed by including them,
sourced from the respective FontAwesome versions available for
download at https://fontawesome.com/icons
2023-09-12 10:54:15 +02:00
Andrew Nicols 48bc688ccd MDL-78324 core: Convert modals to use new static methods
This commit takes all modals which were not using the legacy
ModalFactory.create triggers and migrates them to the new Modal.create
method.
2023-09-09 00:04:11 +08:00
Jun Pataleta 8edafd35d8 MDL-78549 multianswer: Prevent default when clicking feedback trigger 2023-09-08 22:14:35 +08:00
Huong Nguyen 0a9eaa50e4 Merge branch 'MDL-78549-master' of https://github.com/junpataleta/moodle 2023-09-08 22:14:35 +08:00
Jun Pataleta f566bf4601 Merge branch 'MDL-78874-master' of https://github.com/danghieu1407/moodle 2023-09-05 12:05:59 +08:00
Jun Pataleta b5b63270c5 MDL-78549 qtype_multianswer: Configure feedback popover trigger via JS
* For some reason, the `data-trigger="hover focus"` does not work when
rendering the popover via HTML. It just defaults to click, so the
feedback popover for qtype_multianswer questions does not show on hover.
Configuring the feedback popover's trigger via JS seems to work.
2023-09-05 09:34:33 +08:00
Mark Johnson 4f07ff98f4 MDL-72321 question bank: Only update edit switch URL if present 2023-09-01 23:43:20 +08:00
Andrew Nicols 47cc73fe1a MDL-72321 question: Ensure that all instance props are defined
Since PHP 8.2, all properties on a class must be defined as the PHP
Dynamic Property feature has been deprecated.

This commit goes one step further and switches this class to using
constructor property promotion. This language feature has been available
since PHP 8.0 and allows for simplified creation of class properties
which are initially defined in the constructor.
2023-09-01 09:52:33 +08:00
Andrew Nicols 1ce54ee87e Merge branch 'MDL-72321_master-squashed' of https://github.com/marxjohnson/moodle 2023-08-31 23:02:35 +08:00
Nathan Nguyen d9a75f5315 MDL-72321 core: backup/restore filter condition 2023-08-31 15:00:39 +01:00
Nathan Nguyen e3bd166b3d MDL-72321 mod_quiz: Use new datafilters for random questions 2023-08-31 15:00:39 +01:00
Mark Johnson 823af3a8f1 MDL-72321 core_question: Replace old conditions with new datafilters 2023-08-31 15:00:39 +01:00
Mark Johnson d2f68abc89 MDL-72321 qbank_usage: Only load javascript if plugin is enabled 2023-08-31 15:00:38 +01:00
Nathan Nguyen 43866217da MDL-72321 qbank_comment: Only initialise javascript if plugin is enabled 2023-08-31 15:00:38 +01:00
Mark Johnson 6f2e91a169 MDL-72321 qbank_bulkmove: Rewrite unit test
This reduces code duplication and removes the dependency on
\core_question\local\bank\view from the test.
2023-08-31 15:00:38 +01:00
Jun Pataleta 37aaae3b13 Merge branch 'MDL-79107-master' of https://github.com/junpataleta/moodle 2023-08-31 21:09:56 +08:00
Jun Pataleta 5df9996f60 MDL-79107 qtype_essay: Move non_form_fields.feature under qtype_essay 2023-08-31 20:46:11 +08:00
Jun Pataleta be35034f1c Merge branch 'MDL-76974' of https://github.com/paulholden/moodle 2023-08-28 17:03:27 +08:00
danghieu1407 436a403aef MDL-78874 accessibility: Improve descriptive text for check button 2023-08-24 20:45:56 +07:00
Paul Holden b30245b3e2 MDL-76974 javascript: convert remaining uses of old preferences API.
Implement component preference definition callbacks, update JS code
to use the `core_user/repository` module instead of the now deprecated
API.
2023-08-22 14:43:34 +01:00
Stefan Topfstedt 7b04638c52 MDL-71212 core_course: adds controls to the course index drawer. 2023-08-18 11:00:55 -07:00
Andrew Nicols ad923a4d96 MDL-77381 qengine: Correct coverage for new test 2023-08-17 09:12:36 +02:00
Andrew Nicols c622af3dba Merge branch 'MDL-77381-master' of https://github.com/ScottVerbeek/moodle 2023-08-17 09:12:36 +02:00
Ilya Tregubov 04cdf6889d Merge branch 'MDL-78939' of https://github.com/paulholden/moodle 2023-08-10 18:31:51 +07:00
Jun Pataleta ec200c0e6c Merge branch 'MDL-77378_master_v3' of https://github.com/TomoTsuyuki/moodle 2023-08-10 18:31:50 +07:00
ScottVerbeek a3b02e0c6a MDL-77381 question engine: don't query empty arrays 2023-08-10 08:09:16 +10:00
Ilya Tregubov 58664d0b26 Merge branch 'master_MDL-78860' of https://github.com/mattporritt/moodle 2023-08-09 09:42:37 +08:00
Paul Holden 69caa83345 MDL-78939 qformat_xml: fix reference to calculated question files. 2023-08-08 08:08:33 +01:00
Matt Porritt d84389391c MDL-78860 qtype_calculatedmulti: PHP 8.2 compatibility
PHP 8.2 has deprecated setting properties on objects dynamically.
The qtype_calculatedmulti question type had two properties being
set this way($correctanswerlength and$correctanswerformat).
This patch extends the question_answer class to add the properties
when the object is instantiated.
2023-08-04 15:44:13 +10:00
Ilya Tregubov 05655afa6b Merge branch 'MDL-78866-master' of https://github.com/danghieu1407/moodle 2023-08-03 09:38:32 +08:00
Huong Nguyen ddae9c4ae1 Merge branch 'MDL-78815_master' of https://github.com/marxjohnson/moodle 2023-08-02 14:58:23 +07:00
Mark Johnson 1055a2c1c2 MDL-78815 qbank_comment: Delete comments in event observer 2023-08-02 08:34:59 +01:00
Mark Johnson a2c8eed5c8 MDL-78815 qbank_customfields: Delete custom field data in event observer 2023-08-02 08:34:59 +01:00
Mark Johnson 36ab582177 MDL-78815 qbank_tagquestion: Delete tags in event observer 2023-08-02 08:34:59 +01:00
Mark Johnson b7b932a3c1 MDL-78823 core: Add new events when enabling and disabling qbank plugins 2023-08-02 08:34:32 +01:00