Commit Graph

1348 Commits

Author SHA1 Message Date
Eloy Lafuente (stronk7) ffb762aae0 MDL-75208 oracle: Amend a couple of queries to make Oracle happy
The changes introduced here are completely safe, just we stop
binding SITEID and, instead, embed it in the SQL.

Why? Because Oracle 21 has started to return non-sense results
when SITEID is bound.

After lots of tests, attempts, debugging... we have been unable
to find any logic to the need of this change and also, have been
unable to reproduce the problem with a standalone script that
pretty much runs the same queries that the ones changed here.

I'm sure that there is something, somewhere, but have failed
to find it, grrr.

Please read MDL-75208 and linked issues to find more information
about this problem, that is one of the biggest mysteries I've
seen recently. Maybe at the end there is a tiny detail that
explains it all, but it's really well hidden.
2022-07-19 09:52:59 +02:00
Huong Nguyen 62a909f91a MDL-72991 Course: Improve coursemodinfo cache performance
- New course_modinfo::get_array_of_activities() function was created to reduce
   the unnecessary DB call
 - New course_modinfo::purge_course_cache function was created to purge the cache of a given course
2022-03-15 10:57:12 +07:00
Huong Nguyen 1f85802f86 MDL-72991 Course: Fix move_section_to is not updating correct section
When we change the position of two sections, we just need to update
the position of the affected sections, not all the sections in the course.
This will improve the performance since the system only executes the queries to affected sections.
Also, the system only clears the cache for affected sections, not all the sections in the course.
2022-03-15 10:37:55 +07:00
Mikhail Golenkov 498c78e23a MDL-73993 phpdoc: get_module_types_names returns lang_string objects 2022-03-03 10:43:41 +11:00
Sara Arjona 26ac673e3e MDL-72852 badges: Improve performance to display Badges nav
The course_get_user_navigation_options() is called on each request
from the add_course_essentials() method, to initialise the basic
navigation options that are available or not for the current user.
This information is not always displayed in boost (for
instance, in a module page), but it might be required by some blocks,
like Navigation.
However, this block is hidden by default in boost since MDL-73347,
so at any point we should check if it's possible to change the way
this navigations options is loaded, to only get this information
when it's strictly required.
2022-01-26 10:36:19 +01:00
Sara Arjona d9bde2ab22 MDL-72852 navigation: Do not display badges when empty
If there are no course badges, students shouldn't have a link to a
page saying there are no badges available.

This patch is for displaying the Badges in the secondary navigation
only if the user can manage badges or there is, at least, one
badge available to the current user.
2022-01-24 15:32:08 +01:00
Marc Català d98bf4c5ff MDL-72771 core_course: Set module visibility after moving it
Move a module to another section needs to update its visibility after
placing it into the new section. Otherwise an invalid database state
prevents the system to move any module with a completion rule
involving grades.
2022-01-07 14:27:24 +01:00
Mihail Geshoski db6340a0e1 MDL-71242 core_course: Validate the value of the sort argument
This change validates the value of the sort argument in
course_get_recent_courses().
2021-07-08 23:31:50 +02:00
Dongsheng Cai 4104a24196 MDL-71235 webservices: add activity completion data to web services 2021-04-29 13:52:52 +10:00
Jun Pataleta 469e492196 MDL-71370 course: Make showcompletionconditions nullable
* When completion tracking is not enabled for the course, it does not
make sense for the course's showcompletionconditions setting to
be set according to the default value indicated by the
"moodlecourse | showcompletionconditions" admin setting. Setting
showcompletionconditions as enabled when completion tracking is disabled
makes even less sense. So in such a case, we should not be setting a
default value for showcompletionconditions and allow it to be null.

* When the course is edited and completion tracking is enabled, this
also would set the "Show completion conditions" field to default to the
value set in the "moodlecourse | showcompletionconditions" admin
setting.
2021-04-24 19:15:19 +08:00
Eloy Lafuente (stronk7) 6f2b5817d6 Merge branch 'MDL-70893-311' of git://github.com/marinaglancy/moodle into MOODLE_311_STABLE 2021-03-18 00:23:36 +01:00
Dmitrii Metelkin 88a150467f MDL-66667 course: add course image cache 2021-03-15 12:53:40 +11:00
Shamim Rezaie 9e17f08e97 MDL-70172 output: Fix empty links
The approach taken is inline with font-awesome documentation:
https://fontawesome.com/how-to-use/on-the-web/other-topics/accessibility
2021-03-02 05:36:19 +11:00
Marina Glancy d2d0cffd1d MDL-70893 various: optional function arguments must be in the end 2021-02-15 16:54:01 +01:00
Marina Glancy 65d419b204 MDL-70023 core_course: improve performance of recently accessed courses 2020-11-05 09:55:15 +01:00
Michael Hawkins fab34222ca MDL-69559 admin: Add course download admin settings and lang strings 2020-10-26 10:19:27 +08:00
Nathan Nguyen 85f136094b MDL-69573 core_course: Make MAX_COURSES_IN_CATEGORY configurable 2020-09-30 16:04:55 +10:00
Mathew May fbbfe9aa00 MDL-68928 core_course: Select activity chooser footer 2020-08-18 19:02:25 +02:00
Jun Pataleta 2c45ad6f18 MDL-57678 core_course: Deprecate make_categories_options()
Padding nested course categories by space to make them render in a tree
structure does not really make a lot of sense as they are already being
rendered as full paths. It's simpler to show them without the
indentation.
Given this, there's not much point keeping make_categories_options().
So it's better to deprecate this function and call
core_course_category::make_categories_list() directly instead.
2020-07-15 18:25:57 +08:00
Anthony Radziszewski 34cd22860d MDL-67773 course: Make sure tags are enabled before logging the setting. 2020-06-04 11:41:28 -06:00
Adrian Greeve b2978c1787 Merge branch 'MDL-68757' of https://github.com/timhunt/moodle 2020-05-26 10:33:03 +08:00
Tim Hunt 4a45b7112c MDL-68757 questions: don't do output in low-level functions 2020-05-18 20:54:27 +01:00
Matt Porritt 01436f7539 MDL-64843 Backup: Course copy user interface
This patch adds better core support for copying courses.
There is now a simplified and dedicated UI for copying
courses. This can be accessed from the course context
menu or course management screens.

All backups are done asynchronously and there can be multiple
copies of a course in flight at once.
2020-05-15 06:02:02 +00:00
David Mudrák c268c1bd3f MDL-67752 course: Improve the average_number_of_participants function
The patch adds two new optional parameters that control the function
behaviour. With default values, the function is backwards compatible and
it simply uses the number of enrolment records. The new parameters allow
to include only active enrolments and/or only recently active users.
2020-02-27 13:14:39 +01:00
Jake Dallimore 12f73788b4 MDL-67585 core_course: deprecate get_module_metadata() from course/lib 2020-02-20 09:28:57 +08:00
Jake Dallimore 8210186372 MDL-67585 core_course: add user param to course_allowed_module
We want to be able to call this for a user, not rely on a global.
2020-02-20 09:28:57 +08:00
Tim Hunt 1d67458783 MDL-64531 course: course_delete_module shouldn't output during AJAX
Committer's note: This change was originally part of a bigger patchset
submitted by the author. This is a stripped-down version that does not
use phpunit tests for the new behaviour.
2020-01-20 17:15:55 +01:00
Tien Nguyen Phuc bc6efcb437 MDL-67638 Course: update course timemodified on bulk category move 2020-01-13 10:38:12 +07:00
Marina Glancy 959e4f0e97 MDL-66740 core_course: change defaults for course request settings 2019-10-14 12:22:16 +02:00
Marina Glancy 3e15abe500 MDL-66740 core_course: Add context to capabilities to request course 2019-10-14 11:38:13 +02:00
Davo Smith 629699355c MDL-66017 block_myoverview: Oracle compatibility fix 2019-10-11 00:09:56 +02:00
Davo Smith 8d166d7745 MDL-66017 block_myoverview: filter by custom course field 2019-10-09 14:25:52 +01:00
Mark Johnson d91aa1e760 MDL-65327 performance: Lazy-load module name strings 2019-09-20 08:59:34 +01:00
Peter 020bad738a MDL-66072 core: Remove course sharing and related capabilities 2019-09-04 07:09:05 +08:00
Eloy Lafuente (stronk7) 1f1c48047f Merge branch 'MDL-66446-master' of git://github.com/junpataleta/moodle 2019-08-28 00:24:51 +02:00
Alexander Bias cd4abbc740 MDL-66016 block_myoverview: Add 'All' course filter 2019-08-23 20:44:19 +02:00
Jun Pataleta 50987d04ea MDL-66446 course: Make sure tags are on when logging updated settings 2019-08-23 15:57:52 +08:00
Adrian Greeve 523e51ff4d Merge branch 'MDL-65621-dimmed-courses' of https://github.com/stopfstedt/moodle 2019-08-14 14:56:07 +08:00
Shamim Rezaie 36272110ba MDL-56789 core: Recycle bin warn only if a grade item is being deleted 2019-08-07 15:25:11 +10:00
Jake Dallimore c5b9f7fd70 Merge branch 'MDL-66144-master' of https://github.com/ryanwyllie/moodle 2019-07-22 15:19:17 +08:00
Jun Pataleta f96623cb74 MDL-66143 course: Relative dates mode handling
* On course creation, make sure that we can enable relative dates mode
  only when the site setting is enabled.
* On course update, make sure that the relative dates mode setting
  cannot be changed.
2019-07-22 11:52:41 +08:00
Ryan Wyllie 00a66396c7 MDL-66144 course: add function to calculate user course dates 2019-07-17 15:52:51 +08:00
Stefan Topfstedt 1606fb6812 MDL-65621 block_myoverview: tag courses as "hidden from students"
This is intended to visually separate hidden course from open
courses in the course overview block
by applying a "Hidden from students" tag to the various views in
this block.
To achive this, the course summary exporter's output must be
augmented with a "visiblity" attribute,
carrying the given course's corresponding visibility setting.
Since the exporter now expects this data point as part of its input,
the output of the course_get_recent_courses()
function had to also be augmented with the course visibility setting
to provide this value.
2019-07-05 14:41:46 -07:00
Mark Johnson 288d6ebb54 MDL-65369 events: Include changed course settings in course_updated 2019-06-12 09:54:30 +01:00
Marina Glancy beff3806d6 MDL-10965 courses: capability to browse course list 2019-04-10 12:35:28 +02:00
Damyon Wiese cce54c4732 MDL-64819 output: Activity menu icons
Remove duplicate alt text from activity menu icons and the links to add new sections.
2019-04-08 14:33:36 +02:00
Simey Lameze 73fabadadd MDL-65138 course: add a setting for course publishing 2019-04-01 15:39:07 +08:00
David Monllaó 4de1ac1613 Merge branch 'MDL-62666-master' of git://github.com/junpataleta/moodle 2019-02-11 09:49:08 +01:00
Jun Pataleta 2f61fe976c MDL-57898 customfield: Set the handler's parent context in course_create 2019-01-21 15:46:33 +08:00
Jun Pataleta 7eeae1a63e MDL-62666 course: Only set the groups setting to true when necessary
* Plus update the comment to be more descriptive.
2019-01-21 13:56:23 +08:00