Commit Graph

37 Commits

Author SHA1 Message Date
Tim Hunt 53a265917a MDL-81301 quiz: improve performance of deleting a quiz 2024-04-12 10:46:24 +01:00
Nathan Nguyen e3bd166b3d MDL-72321 mod_quiz: Use new datafilters for random questions 2023-08-31 15:00:39 +01:00
Paul Holden 334b6c75a4 MDL-71196 completion: final removal of get_completion_state support. 2023-07-31 09:04:03 +01:00
Tim Hunt d7462893b0 MDL-77656 quiz: handling special chars in customised question numbers 2023-03-31 16:01:22 +01:00
Sara Arjona 47fd608156 Merge branch 'MDL-76968-master' of https://github.com/junpataleta/moodle 2023-01-25 08:22:23 +01:00
Jun Pataleta a479c1854b MDL-76968 mod_quiz: Use proper external_api reference 2023-01-20 17:06:17 +08:00
Tim Hunt 2bb6c8b281 MDL-76899 quiz: bulk fix all array literals array() -> []
This was done with PHPStorm's automated tool. No manual editing
2023-01-16 17:12:45 +00:00
Tim Hunt a9f8547599 MDL-76614 quiz: rename quiz => mod_quiz\quiz_settings 2023-01-06 14:35:54 +00:00
Tim Hunt 5682c8c70e MDL-76614 quiz: move class quiz_attempt => mod_quiz\quiz_attempt
I thought about renaming the class to just plain attempt, but I
acutally think quiz_attempt makes it clearer what this is. Also
not changing the name massively reduces the pain for everyone
updating their code (including me right now!)
2023-01-06 14:35:51 +00:00
Mahmoud Kassaei 2074448b34 MDL-74609 Quiz: allow the displayed question numbers to be customised 2022-12-21 12:04:30 +00: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
Eloy Lafuente (stronk7) 511801cb46 MDL-73352 phpunit: lib_test and locallib_test testcase names
All lib_test and locallib_test classes:

- Namespaced with component (and API whenever makes sense).
- Fixed incorrect use statements with leading backslash.
- Changed code to point to global scope when needed or add new uses.
- All them passing individually.
- Complete runs passing too.

Special mention to tests under login/tests:

1) The core_login component doesn't exist.
2) But login/tests are allowed because there is a suite pointing to it (phpunit.xml).
3) So, the only possible namespace for them is "core".
4) And to avoid problems with other core testcases (under lib/tests)
   they have been renamed to have login_xxxx as prefix.
2021-12-30 16:21:42 +01:00
Peter Dias cd52b46e89 MDL-52206 quiz: Remove completionpass completion from quiz
AMOS BEGIN
 MOV [completionpass,mod_quiz],[completionpassgrade,core_completion]
 MOV [completionpassdesc,mod_quiz],[completionpassgrade_desc,core_completion]
 MOV [completionpass_help,mod_quiz],[completionpassgrade_help,core_completion]
AMOS END
2021-10-04 19:44:03 +08:00
Shamim Rezaie 7d102bb67d MDL-71144 mod_quiz: custom_completion should not use deprecated function
This commit also removes an unnecessary DB query.
2021-04-22 21:11:43 +10:00
Shamim Rezaie d9d0ae01d3 MDL-71144 mod_quiz: Deprecate quiz_get_completion_state() 2021-04-22 21:02:02 +10:00
Shamim Rezaie 7a9f13e37f MDL-70935 mod_quiz: combine 'pass' and 'attemptsexhausted' rules
Custom rules are combined using the AND operator. However, the
'completionpass' and 'completionattemptsexhausted' rules are exceptions
because they are combined together with OR, and form a single new rule
that then will be combined with the rest of the rules using AND.
This commit combines the mentioned rules into a single rule named
'completionpassorattemptsexhausted'.
2021-04-07 15:09:36 +08:00
François Moreau 760ed019ee MDL-45002 mod_quiz: completion option, at least N attempts completed 2020-07-14 15:32:06 -04:00
John Yao 96e444665e MDL-65517 block_timeline: Hide completed course modules in Timeline
When some activities are manually completed by students, some are still showing in students' timeline.
This commit fix that for module assign,chat,choice,feedback,lesson,quiz,scorm and workshop.
2019-07-12 09:16:40 +10:00
Eloy Lafuente (stronk7) dcb8f5fefb MDL-53778 quiz: ensure completion deps are fulfilled by generator uses
There are some mod_quiz generator issues where the new chain
of dependencies between completion settings was not being observed.

This patch just ensures that the now 3 chained settings are
enabled together (or new quiz options logic will proceed to
disable them).
2019-06-27 01:11:43 +02:00
Shamim Rezaie 3f4d7f805e MDL-63146 mod_quiz: Add userid param to mod_quiz calendar callbacks 2019-03-05 14:21:42 +11:00
Peter 286631e7c0 MDL-64238 mod_quiz: Check enrollment on calendar_action generator
* Updated unit tests to account for participants
2019-02-08 06:40:52 +08:00
Neill Magill 196aa50489 MDL-62944 activities: Test adding activities with no calendar capability 2018-08-31 10:15:36 +01:00
Cameron Ball 7eae70e167 MDL-58578 mod_quiz: Correctly provide group override priorities
Previously the override priorities were being provided
back to front.
2017-04-27 15:15:12 +08:00
Jake Dallimore 8db355c58f MDL-58138 tests: unit and behat tests covering bulk and default tabs
Part of MDL-58138 epic
2017-04-19 08:56:11 +08:00
Mark Nelson e1cd93ce20 MDL-58423 core_calendar: moved \core_calendar\event class
Part of MDL-55611 epic.
2017-04-04 11:01:49 +01:00
Mark Nelson 08db22c105 MDL-58017 mod_quiz: added action event unit tests
Part of MDL-55611 epic.
2017-04-04 11:01:43 +01:00
Jun Pataleta efe2497623 MDL-55956 mod: New function *_get_group_override_priorities()
New module functions quiz_get_group_override_priorities() and
lesson_get_group_override_priorities() to calculate the priorities
of group overrides for a quiz/lesson activity.
2017-03-06 16:10:54 +08:00
Frederic Massart ac032e0e09 MDL-41922 mod_quiz: Don't report quiz due when an attempt was finished 2016-06-03 14:52:34 +08:00
Tim Hunt bb93fc24aa MDL-6340 quiz: avoid reusing random questions between attempts
There are several improvements over what we had before:

1. We track all the questions seen in the the student's previous
quiz attempts, so that when they start a new quiz attempt, they get
questions they have not seen before if possible.

2. When there are no more unseen questions, we start repeating, but
always taking from the questions with the fewest attempts so far.

3. A similar logic is applied with variants within one question.

There is lots of credit to go around here. Oleg Sychev's students Alex
Shkarupa, Sergei Bastrykin and Darya Beda all worked on this over
several years, helping to clarify the problem and shape the best
solution. In the end, their various attempts were rewritten into this
final patch by me.
2015-03-26 17:45:49 +00:00
Dan Poltawski 8eed9a9f42 Merge branch 'MDL-49160-master' of git://github.com/merrill-oakland/moodle 2015-03-03 08:34:31 +00:00
Andrew Nicols ebb18182a6 MDL-49285 mod_quiz: Remove unnecessary linebreak 2015-03-03 16:23:13 +08:00
Eric Merrill 2909c04408 MDL-49285 quiz: Include lib.php for phpunit test 2015-02-24 14:53:46 -05:00
Eric Merrill 1245bfd5f0 MDL-49160 quiz: Make sure to not select an outcome grade item
When we are computing completion, make sure we select only the true
grade_item, not outcome grade items.
2015-02-24 14:40:36 -05:00
Tim Hunt 16fa272e29 MDL-47132 quiz: move the remains of editlib.php to locallib.php 2014-10-03 07:54:47 +01:00
Colin Chambers e1a2d0d92d MDL-43089 quiz: improved interface for building quizzes
This commit is actually the joint work of Mahmoud Kassaei, Colin
Chambers and Tim Hunt from The Open University. We could only use one
persons name for the commit, and this time Colin gets the credit/blame.

The goal of this work was to increase usability, and also clean up
the page enough that it will be possible to add new features in future.

Display of mod/quiz/edit.php is now entirely generated by
mod_quiz\output\edit_renderer. This uses a helper class
mod_quiz\structure to provide details of the structure of the quiz, and
mod_quiz\repaginate to alter that structure. (Acutally, there are still
some modification methods on mod_quiz\structure. Expect that to be
cleaned up in future.)

The new code uses much more ajax, and there are new scripts
mod/quiz/edit_rest.php and mod/quiz/repaginate.php to handle this.
(Again, don't be surprised if those two scripts get merged in future.)
Also questionbank.ajax.php (which may, in future, be made more generic,
and moved into the core question bank code.)

Most of the new JavaScript code has intentionally copied the way things
are done when editing activities on the course page.

As a result of this, mod/quiz/editlib.php is now much shorter than it
was. (In future, expect the remaining code in here to move into
mod/quiz/classes.)
2014-10-02 17:22:23 +01:00
Eric Merrill 828a4e9f6e MDL-20154 quiz: Remove unused random questions
When a random question is removed from a quiz, and it is not
in use elsewhere, it should be deleted.
2014-06-05 11:06:26 -04:00
Petr Skoda 7fe8aac1a7 MDL-32149 add quiz unit tests 2012-04-03 22:31:02 +02:00