Commit graph

67 commits

Author SHA1 Message Date
Michael Hawkins
f105612d7f MDL-71189 core_completion: Implementing custom completion sort ordering
This adds the requirement for activities supporting custom completion to
specify the order all completion conditions should be displayed for that
activity. It also implements the sorting that takes place.
2021-05-03 13:36:11 +08:00
Michael Hawkins
c997fc7784 MDL-71189 core_completion: Updates to meet current coding standards 2021-05-03 13:36:11 +08:00
Dongsheng Cai
36bc7b07db MDL-71235 webservices: add activity completion data to web services 2021-04-29 13:52:32 +10:00
Huong Nguyen
3f9035b989 MDL-71252 completion: Avoid showing the 'Mark as done' button
The following activites will be applied:
 - Label
 - File (Force download/Open/In pop-up)
 - URL (Open/In pop-up)
2021-04-26 14:24:41 +07:00
Simey Lameze
f518f61757 MDL-71288 completion: add fallback for plugins
This commits adds a fallback for plugins which does not have
custom_completion implementation.

For those cases, it will search for {modulename}_get_completion_state
callback in the plugin and call get_overall_completion() method in
cm_completion_details class to get the overall completion state for
a course module and user.
2021-04-22 09:45:11 +08:00
Jun Pataleta
c81441f5c9 MDL-70817 core_completion: Course module completion details
* Class cm_completion_details builds the custom completion details
for an activity module.
2021-04-02 21:53:20 +08:00
Jun Pataleta
fc238f329d MDL-70815 completion: Cast custom data to array
Since cm_info::customdata can be of any type, we need to cast it to an
array first before checking for custom completion rules. Otherwise,
an exception can be thrown (e.g. customdata has been set as an stdClass)
2021-03-10 19:22:15 +01:00
Jun Pataleta
beb0dd74f2 MDL-70815 core_completion: Activity custom completion details base class
* Base class for defining an activity module's custom completion details
2021-03-09 19:27:41 +08:00
David Mudrák
005b00dd9b MDL-68645 output: Do not apply filters when creating calendar events
Applying filters on an activity module description when using it as a
new calendar event's description is bad m'kay? We need to store the raw
text and apply the filters only when we actually display the text. That
way, filters (such as multi-language content) may actually fully work
and we do not initialise the theme and output machinery.

Additionally, we need to explicitly set the format of the description
text to HTML (because we have converted it to it already). Otherwise it
defaults to the current user's preferred editor format.

This is still a pragmatic hot-fix solution. The proper solution would be
to pass the raw text, format and embedded files.
2020-05-13 10:03:01 +02:00
Shamim Rezaie
a5f7de8777 MDL-64782 core_completion: Performance improvement 2019-04-23 17:01:48 +10:00
Dmitrii Metelkin
34945fa35f MDL-64898 core_completion: no progress for untracked users 2019-03-15 14:32:50 +11:00
Mark Johnson
272c7948d2 MDL-64889 completion: Fix performance of get_course_progress_percentage 2019-02-18 14:03:52 +00:00
Jun Pataleta
c18f59e155 Merge branch 'MDL-64644_master' of git://github.com/markn86/moodle 2019-02-11 15:29:04 +08:00
Eloy Lafuente (stronk7)
6ada5b713b Merge branch 'MDL-64528-master' of https://github.com/mackensen/moodle 2019-01-30 21:21:26 +01:00
Mark Nelson
6ff8d31434 MDL-64644 completion: set status correctly in provider 2019-01-23 17:11:49 +08:00
Mark Nelson
aaf7228fb4 MDL-64644 completion: ensure we return array for provider 2019-01-23 13:41:20 +08:00
Charles Fulton
7868aab181 MDL-64528 core_completion: prevent toggling completion in frozen context 2019-01-12 07:37:21 -08:00
Mark Johnson
7672471236 MDL-64123 webservices: Add valueused to completion data 2018-12-19 16:26:35 +00:00
Andrew Nicols
c96cd71102 MDL-63924 privacy: Add shared user providers to subsytsems 2018-11-08 21:26:18 +08:00
Andrew Nicols
5c77966881 MDL-63657 completion: Coding style fix 2018-10-23 11:32:43 +08:00
Michael Hawkins
543c465579 MDL-63668 core_completion: Add get and delete by approved userlist.
This issue is a part of the MDL-62560 Epic.
2018-10-23 10:06:26 +08:00
Neill Magill
2363b99e69 MDL-62944 completion: Calendar capabilities should not be required
The completion API should not require a user to have the capability to
add calendar events for it to function correctly.
2018-08-31 10:15:36 +01:00
Adrian Greeve
d8eec7ee38 MDL-62384 core_completion: Update to sql to improve performance. 2018-05-11 09:15:27 +08:00
Adrian Greeve
ebab932f71 MDL-62137 core_completion: Privacy files for core_completion. 2018-05-07 14:28:16 +08:00
Juan Leyva
0e8b3d929d MDL-61312 completion: Return completion for teachers via WS
core_completion_get_activities_completion_status was not returning
completion information for users with the teacher role only (when it
wasn’t a role allowed to track completion).
2018-01-30 12:19:52 +01:00
Stephen Bourget
dccd9540d0 MDL-61205 completion: allow expected completion to support time 2018-01-11 21:30:13 -05:00
Neill Magill
3acb294828 MDL-60945 Web services: Too many progress records retrieved
The core_completion_get_activities_completion_status was getting the
progress for all users on the course called, and then discarding all
the records but one.

This change ensures that only progress for the user we are interested in
is retrieved from the database.

This has a side benefit of removing a full table scan from the query
finding the users inside the get_progress_all() method.
2017-12-11 08:41:16 +00:00
Pau Ferrer Ocaña
15ead7a176 MDL-60835 completion: Add overrideby field to completion status WS 2017-11-16 16:35:43 +01:00
Damyon Wiese
a66de3ca70 MDL-59909 calendar: Try hard not to fail the adhoc task.
Triggering a fatal error in an adhoc task is bad. It will be retried indefinitely.
Even though we are not sure how to get a module instance without a course module record,
it is possible and should not kill the Moodle site.
2017-10-25 15:42:14 +08:00
Jake Dallimore
b08337c35e MDL-37361 completion: Consolidate icon logic and clarify web service
- Icon generation logic moved to the course renderer.
- Web service should return the completion info only, not HTML.
- JS modified to handle icon rendering in relevant cases.
2017-10-10 17:12:22 +08:00
Jake Dallimore
8fbc41d8d5 MDL-37361 completion: minor code fixes. 2017-10-10 17:12:09 +08:00
Jake Dallimore
77165c9c83 MDL-37361 behat: added a test covering the activity completion report 2017-10-10 17:11:32 +08:00
Jake Dallimore
6f4adc6be4 MDL-37361 completion: make completion overrides visible to students
- Set icons in the course/renderer
- Use 'set' in lang strings for simplicity
- Code style fixes
2017-10-10 17:11:13 +08:00
Eiz Eddin Al Katrib
a39918daae MDL-37361 completion: Enabled overriding activity completion status 2017-10-10 17:10:15 +08:00
Ankit Agarwal
65f15cd277 MDL-58906 completion: Fix incorrect phpdoc 2017-07-24 11:17:54 +05:30
Adrian Greeve
190d4ecf1e MDL-59287 core_completion: Bulk completion now updates events. 2017-07-10 09:40:02 +08:00
Adrian Greeve
1930749f46 MDL-59287 core_completion: Update API to use less DB calls. 2017-07-10 09:40:01 +08:00
Marina Glancy
694502b611 MDL-58138 completion: manual completion may have expected date 2017-04-21 15:01:32 +08:00
Marina Glancy
6c48135896 MDL-58138 completion: mform wants 0-based indexes for arrays 2017-04-20 13:49:56 +08:00
Jake Dallimore
273d310601 MDL-58138 completion: Fixes for a number of small issues. 2017-04-19 11:41:57 +08:00
Marina Glancy
32b93ea7f8 MDL-58138 completion: changes after rebasing
The defaults for the completion have been changed in MDL-55611
2017-04-19 08:56:11 +08:00
Marina Glancy
6445f17bfc MDL-58408 completion: can not require grade if grading is not available
Part of MDL-58138 epic
2017-04-19 08:56:11 +08:00
Jake Dallimore
22002ed74b MDL-58138 completion: consolidate bulk edit notifications to single call
Part of MDL-58138 epic
2017-04-19 08:56:11 +08:00
Jake Dallimore
5976f85c95 MDL-58138 completion: move new lang strings to the completion lang file
Part of MDL-58138 epic
2017-04-19 08:56:11 +08:00
Jake Dallimore
6b3b9c1d02 MDL-58138 completion: rebase on font-awesome changes.
Part of MDL-58138 epic
2017-04-19 08:56:11 +08:00
Jake Dallimore
b17ee68202 MDL-58138 completion: Assorted linting fixes.
Part of MDL-58138 epic
2017-04-19 08:56:11 +08:00
Marina Glancy
a64a9f9ce4 MDL-58267 completion: style and capabilities cleanup
Part of MDL-58138 epic
2017-04-19 08:54:35 +08:00
Marina Glancy
7f53e8aa22 MDL-58267 completion: allow to set default activity completion
Part of MDL-58138 epic
2017-04-19 08:54:35 +08:00
Marina Glancy
06cdda468a MDL-58139 completion: bulk update completion
Part of MDL-58138 epic
2017-04-19 08:52:57 +08:00
Marina Glancy
0cbc248dd3 MDL-58140 completion: access control refinements
Part of MDL-58138 epic
2017-04-19 08:52:57 +08:00