Commit Graph

67 Commits

Author SHA1 Message Date
Andrew Nicols bf18273a08 MDL-85897 core: Move all deprecations to emit_deprecation 2025-07-30 13:53:27 +08:00
Mark Johnson 0105cdb0de MDL-85721 qtype: Cope with missing options records
If we restore a question (or any other) which has had its
qtype_xxx_options record deleted, we get a notification output when we
try to build the options.

This may be called from an AJAX request (such as when we duplicate a
quiz), and outputting the notification breaks the AJAX response.
Returning false also means we don't get the answers attached to the
questiondata options, so the structure doesn't match the restored data,
and we get duplication.

This emits the errors via debugging instead, which allows it to be
supressed or logged, and allows get_question_options() to continue
running.
2025-07-01 11:52:48 +01:00
Stefan Hanauska cf13d59989 MDL-72050 question: Delete import draftfiles immediately 2025-03-13 08:17:10 +01:00
Simon Adams a0cf3d2da5 MDL-71378 core_question & mod_quiz: Refactor deprecated contexts 2024-11-18 10:22:59 +00:00
Mihail Geshoski 72e9a1bbd9 MDL-81458 question: Cast the fraction value to a float
When retrieving the answer data from the database, it's essential to
cast the value of the answer's fraction to a float before storing it
into the question object. This step is crucial for ensuring consistency,
as some database engines return floats as strings like '1.0000000'.
2024-04-09 23:18:14 +08:00
Mathew May 460e3b5a61 MDL-79863 question: Update docblocks 2024-04-05 09:47:58 +08:00
Meirza e4b24bdd79 MDL-77299 question: Added class properties that are not declared.
In PHP 8.2 and later, setting a value to an undeclared class property is
deprecated and emits a deprecation notice.
So we need to add missing class properties that still need to be declared.

Co-authored-by: Tim Hunt <t.j.Hunt@open.ac.uk>
2023-03-01 10:09:09 +07:00
Sujith Haridasan 73d604369d MDL-71062 core: Step 1 deprecation of print_error function 2022-07-13 08:20:54 +05:30
Tim Hunt 5fff990e25 MDL-74255 quiz: clean up lots of stuff mainly in the tests
This fixes lots of stuff like outdated or incomplete PHPdoc comments
or test heler functions where the arguments don't have their types
declared.

A few more significant fixes, like places were a silly method
was used to get a context which was readily available.
2022-04-08 12:19:52 +01:00
Safat Shahin 3008edd366 MDL-71696 core_question: Implement question status change
This commit implements the status change pop up for a question
in the base view. This feature update will allow the change of
status of a question without creating a new version.
This commit also implements the status as a char rather than
an int value.
2022-02-03 22:22:50 +11:00
Safat Shahin 111951d861 MDL-71696 mod_quiz: quiz updates and behat coverage
The versioning changes will require some major changes
in the backup and restore of question bank and its
elements. This change introduces those changes to make
it compatible with the new world of versioning in question
bank. This commit also removes quiz_slots fields and
quiz_slot_tags table.
This commit will also introduce the versioning db
structure and some major changes to the quiz
and quiz attempts for the question, random
question and the view.
This commit implements the behat changes for versioning
in core question and associated locations.
2022-02-03 22:22:44 +11:00
Guillermo Gomez c6cfca2a08 MDL-71696 core_question: Changes for versioning
This commit adds the changes in questiontype base
to work with new question tables and the new structure in the
databse. Also needed for versioning.
This implementation will also introduct the question status
which allows a question to be in draft and ready status.
I also introduces changes to the base view where it shows
the latest version of the questions. The view of versions
for a question is not implemented in this commit.
This implementation will also introduce changes in the core
qtype plugins to support versioning and the changed
db schema.
2022-02-03 22:22:44 +11:00
Matt Porritt 556e2f1aec MDL-72553 qbank_customfields: Add custom fields for question types
Custom fields can now be added to question types.
Site administrators can configure the custom fields and
filed types available. Teachers and question creators can
then use these fields for extra question metadata when
creating questions. Question creators can control if
the fields are displayed to students when they are
taking a quiz or not.
This features uses the core Moodle custom field API.

Co-Authored-By: Matt Porritt <mattp@catalyst-au.net>
Co-Authored-By: Safat Shahin <safatshahin@catalyst-au.net>
Co-Authored-By: Marc-Alexandre Ghaly <marc-alexandreghaly@catalyst-ca.net>
2021-12-07 18:32:41 +11:00
Mahmoud Kassaei 01403b2f0d MDL-70895 Questions: Default options when creating a question 2021-03-31 09:26:54 +01:00
Adrian Greeve d602189874 Merge branch 'MDL-63812' of https://github.com/timhunt/moodle 2020-05-25 14:40:14 +08:00
Tim Hunt c689726d3f MDL-68733 question behat: question tag generator and use in quiz test 2020-05-18 22:56:33 +01:00
Tim Hunt a196cf5ac1 MDL-66259 qtypes: Add missing comment on get_random_guess_score
A bit off-topic for this issue number, but I noticed it while
working on this, and though it was not worth creating a
separate MDL for.
2020-04-24 15:56:23 +02:00
Tim Hunt 2bfb8d4a3d MDL-63812 qtype_gapselect: fix questions with non-consecutive gap nos 2020-04-23 14:39:52 +01:00
Sara Arjona a7cd3a17fc Merge branch 'MDL-66834-master' of https://github.com/kepeter/moodle 2020-02-11 11:54:12 +01:00
Peter Eliyahu Kornfeld 3ab494b154 MDL-66834 Questions: add transaction, move trigger 2020-02-03 12:29:43 +02:00
Tim Hunt 2569fb5d2c MDL-67842 questions: Cannot remove the idnumber from a question 2020-01-30 17:24:59 +00:00
Tim Hunt c9491626ab MDL-67153 question bank: let qtype add actions to the edit menu 2019-11-06 19:32:15 +00:00
VinhLe 4ca60a5660 MDL-36088 questions: Add new events 2019-04-29 11:16:19 +07:00
Stephen Bourget 93e435b909 MDL-36088 questions: Add new events 2019-04-29 11:15:36 +07:00
John Beedell 6189fda47f MDL-62708 question: Add idnumbers to question and question category 2018-09-21 12:26:24 +01:00
Tim Hunt 1f17e41e9a MDL-50893 questions: cannot create a question with name 0 2015-07-28 18:18:17 +01:00
Tim Hunt cda62a3829 MDL-47791 question editing: remove permission info from above the form
This information is not really meaningful for users, and takes up prime
real-estate, so we are removing it.
2014-10-21 15:03:20 +01:00
Tim Hunt f4fe3968a2 MDL-46212 questions: add {} whenver vars are put into "" strings
Having had one subtle bug cased be this, I decided to do a search and
fix all of these.
2014-07-03 14:02:39 +01:00
Damyon Wiese ca4f7f6105 MDL-45763 Question types: Allow saving '0' as question text. 2014-06-11 17:28:52 +08:00
Eloy Lafuente (stronk7) 96eead3f6c MDL-24408 Whitespace fix. 2014-04-02 03:14:36 +02:00
Oleg Sychev 92e83e2d0e MDL-24408 extra_question_fields: separate answer data creation code
Now any question using extra_question_fields can overload make_answer
(just as make_hint), instead of overloading whole initialise_question_answers.
2014-03-28 00:27:05 +03:00
Oleg Sychev f0c6c18189 MDL-24408 extra_answer_fields: save_question_answers function
question_type::save_question_answers function added, supporting
saving answers and extra answer fields. It can be called from
save_question_options function for the questions, using
question_answers table. Special functions created for overloading
so that every question could tune it to it's own form.

Shortanswer qtype save_question_options() converted as a proof of
concept and for testing purposes.
2014-03-28 00:27:03 +03:00
Oleg Sychev 6276672854 MDL-24408 extra_answer_fields : get answers even if they miss extra data
Extra answer data may be optional, saving DB space - i.e. not every row in
question_answers will have respective row in extra answers table. Current
implementation of question_type::get_question_options() won't return such
answers at all. This commit fix that, changing join type for db query.

Also fixed coding style violation in the variable name in get_question_options.
2014-03-28 00:26:59 +03:00
James Pratt 3d6f2466d9 MDL-43479 quiz response analysis : suppress break down by variants
where there are very many variants
2014-02-14 15:40:52 +07:00
M Kassaei 435d32798b MDL-33839d, Remove the move icon from the question bank 2014-01-24 14:40:16 +00:00
Tim Hunt 562684e3a0 MDL-42309 typo: fix reponse -> response throughout Moodle. 2013-10-15 13:47:27 +11:00
Jean-Michel Vedrine f383a58a90 MDL-40499 Edit question from 1.9 backup breaks if images in subdirs 2013-07-04 14:09:13 +02:00
Oleg Sychev 0b287dd2e8 MDL-40013 Easier to override saving question hints
This adds 3 new methods, called from question_type::save_hints,
to make it easier for different question types to overload this
functionality without duplicating code.

Question types that will benefit from this change include
oumultiresponse, ddmarker, preg and correctwriting.
2013-06-06 19:58:42 +03:00
ppichet 3d9645ae6e MDL-38792 Update question/type in-line comments to codechecker standards
Correct bad formated infiles in question/type directories
2013-04-08 19:59:51 -04:00
Tim Hunt a8e577debb MDL-37374 questions: fix property_exists calls. 2013-01-16 11:13:53 +00:00
Tim Hunt 8d54191d7a MDL-37374 questions: use property_exists rather than isset
$a->field = null; isset($a->field) returns false, which is typical PHP.
I also improve the error handling a bit.
2013-01-11 13:15:51 +00:00
Dan Poltawski 0e35ba6ffc MDL-36357 cleanup - remove double semicolons 2012-11-15 09:51:26 +08:00
Ankit Agarwal 5fbe2118bc MDL-34549 libraries: Changing strictness of context::instance_by_id() when required 2012-08-24 11:30:35 +08:00
Ankit Agarwal d197ea4300 MDL-34549 libraries: Replace get_context_instance_by_id() by context::instance_by_id() 2012-08-24 11:30:10 +08:00
Frederic Massart 21c08c63ca MDL-34458 Librairies: Replaced deprecated get_context_instance() 2012-07-24 16:58:17 +08:00
Tim Hunt ba6425ab3d MDL-33779 question: code clean-up 2012-06-15 14:02:15 +01:00
Tim Hunt a031b0f334 MDL-32347 questions: API improvement for the benefit of strict syntax. 2012-04-05 17:26:44 +01:00
Tim Hunt 04fcd1f5a8 MDL-32201 question export: use qformat_xml::write_answer in base class
Without this, images in answers were not being written to the export
file for questions using extra_answer_fields.
2012-03-29 14:12:58 +01:00
Tim Hunt d44480f60f MDL-31729 questions: files for hints are not moved or deleted.
The files that belong to the question hints are neither moved when the
question is moved to another context, nor deleted when the question is
deleted.

Oops! How come no one noticed that until today.
2012-02-23 12:37:26 +00:00
Tim Hunt 0b94d6bff3 MDL-30120 questions: remove support for legacy qtype string names. 2012-01-20 19:42:42 +00:00