Commit Graph

27 Commits

Author SHA1 Message Date
Marina Glancy 881b4258f7 MDL-70897 various: uasort callback can not return bool
Co-authored-by: Ruslan Kabalin <ruslan.kabalin@gmail.com>
2021-04-20 14:58:25 +01:00
Mihail Geshoski 2939efff84 MDL-69751 course: Handle missing guest user context
Makes sure the guest user context exists when fetching
the recommended modules. If the context does not exist
an exception is being thrown describing the problem.
2020-10-20 08:31:43 +08:00
Sara Arjona 64fbd346ba MDL-69704 course: catch exception when calling get_course_content_items
When plugins are removed from disk, an exception is thrown when
calling component_callback_exists.
This exception should be catched here in order to load properly
the activity chooser (otherwise, the exception will be displayed
and no activity will appear).
2020-10-01 19:54:35 +02:00
Eloy Lafuente (stronk7) 432b9a9075 MDL-69521 core: Move all comments in code from 4.3 to 4.1 2020-09-08 18:59:46 +02:00
Mihail Geshoski 7add3440c8 MDL-69079 course: Handle missing guest when fetching recommended modules 2020-07-24 10:33:50 +08:00
Mathew May 16d77f1884 MDL-67883 core: Make core ready for MoodleNet. 2020-06-05 11:47:42 +08:00
Mihail Geshoski d379dc9b0c MDL-67587 course: Add search in recommended activities admin page 2020-04-09 09:17:53 +08:00
Mihail Geshoski 9ba17166fe MDL-68263 course: Fix error when modules are not fully uninstalled 2020-03-30 14:15:00 +08:00
Shamim Rezaie f064e11579 MDL-67970 course: More informative aria-label for 'more help' 2020-03-17 18:19:20 +11:00
Eloy Lafuente (stronk7) a17bdbd5cf Merge branch 'MDL-68019-master' of git://github.com/peterRd/moodle 2020-03-11 23:47:43 +01:00
Sara Arjona b71604b058 Merge branch 'MDL-68055-master' of https://github.com/snake/moodle 2020-03-04 08:16:47 +01:00
Jake Dallimore d86274c64b MDL-68055 core_course: export content item description as markdown 2020-03-04 11:44:26 +08:00
Peter b3b2d72c1e MDL-68019 course: Performance improvement with component favourites
Add the ability to get all/select itemtypes within a component
2020-02-28 11:28:15 +08:00
Adrian Greeve cd09777dbd MDL-67262 core_course: Added the ability to recommend activities.
This allows an adminsitrator or a user with
'moodle/course:recommendactivity' to recommend activities in the
activity chooser.
2020-02-24 10:59:55 +08:00
Adrian Greeve a7b2378d72 MDL-67585 core_course: Added legacyitem to exporter.
Legacy items have no id and so can not be favourited nor
recommended. We needed a way to easily determine whether to show
these features in the templates.
2020-02-20 11:42:24 +08:00
Adrian Greeve 5c78541f80 MDL-67585 core_course: Service factory for course content items. 2020-02-20 11:42:23 +08:00
Jake Dallimore f09e9b887e MDL-67585 core_course: add favouriting to the content item service class 2020-02-20 11:42:22 +08:00
Jake Dallimore 57dfcf951d MDL-67585 core_course: add hook get_all_content_items
Returns all content items which are provided by the plugin, irrespective
of whether or not a user can see an item in a particular course. This is
used to generate a global list of content items, allowing for admin
level features to be added.
2020-02-20 11:42:22 +08:00
Jake Dallimore 520add19d6 MDL-67585 core_course: deprecate the callback get_shortcuts()
This involves a few changes:
- The callback is still called by the repository but only if the
replacement callback get_course_content_items is not implemented.
- Debugging is called when the get_shortcuts callback is called.
- We leave lti's implementation of get_shortcuts alone, in order to
maintain the output of get_module_metadata during its deprecation life
span.
2020-02-20 11:42:21 +08:00
Jake Dallimore 39b9e293e7 MDL-67585 core_course: only accept content items from mods and submods
This matches the prior behaviour in core.
2020-02-20 09:28:57 +08:00
Jake Dallimore 8fc7d83f38 MDL-67585 core_course: add get_course_content_items hook
Plugins use this to report which content items relate to a user in
a course.
2020-02-20 09:28:57 +08:00
Jake Dallimore dd494a41a4 MDL-67585 core_course: add content_item_service class
The service object encapsulates access control logic and allows
consumers to query content items in different contexts/scopes.
2020-02-20 09:28:57 +08:00
Jake Dallimore eec2d09f84 MDL-67585 core_course: add exporter for course content items
An exporter will allow let us add calculated fields like 'favourited'
to the data being transferred.
2020-02-20 09:28:57 +08:00
Jake Dallimore 7c7ae1bd6f MDL-67585 core_course: add caching_content_item_repository class
A repository object which caches results for a user and course. This
allows this repository to be called many time in a single request - a
pattern we expect when objects of this type replace the existing
get_module_metadata() method.
2020-02-20 09:28:57 +08:00
Jake Dallimore e843336ee6 MDL-67585 core_course: add content_item_readonly_repository class
Add a read-only repository, which returns the list of content items
which can be added to a course. This class does not handle access
control nor user-related data pertaining to to core content_items.
This will be handled in a future commit in any calling code using
the repositories.
2020-02-20 09:28:57 +08:00
Jake Dallimore 94420851a5 MDL-67585 core_course: add support for custom titles to content_item
Plugins have always been able to return either a string or a lang string
when implementing the hook, 'get_shortcuts'. Since content_items will
be the replacement for that stdClass implementation, we need a way
for plugins to continue to have this flexibility. This just provides
a small contract and some classes that plugins can use in future.
2020-02-20 09:28:57 +08:00
Jake Dallimore dd8048e350 MDL-67585 core_course: add the content_item class
Objects of this class represent items able to be added to a course,
including modules and submodules.
2020-02-20 09:28:57 +08:00