Commit graph

5486 commits

Author SHA1 Message Date
Jake Dallimore
12f73788b4 MDL-67585 core_course: deprecate get_module_metadata() from course/lib 2020-02-20 09:28:57 +08:00
Jake Dallimore
2f040002ee MDL-67585 core_course: Use the content_item_service to build the picker
Replace get_module_metadata calls with calls to the new
content_item_service class.
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
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
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
Mathew May
c58c23d6c6 MDL-67321 core_course: Add support for tabbing activities in the chooser 2020-02-19 13:28:54 +08:00
Peter
37cf89b34a MDL-67264 core_course: Activity chooser behat
Update the selectors to use a button
Add new tests to cover new functionality
Add new new step definitions to minimise usage of xpaths

Co-authored-by: Mathew May <mathewm@hotmail.co.nz>
Co-authored-by: Mihail Geshoski <mihail@moodle.com>
Co-authored-by: Peter <peterrolanddias@gmail.com>
2020-02-13 09:15:40 +08:00
Mathew May
05b27f2118 MDL-67264 core_course: Activity chooser new feature
Roll in the base for the new activity chooser
It renders all modules into a modal
Gives the user to add from either the base or help screens
All checked by accessability tools with great coverage
Adds minimal overhead to the course edit setup time

Co-authored-by: Mathew May <mathewm@hotmail.co.nz>
Co-authored-by: Mihail Geshoski <mihail@moodle.com>
2020-02-12 12:35:03 +08:00
Mihail Geshoski
cd2efd12ca MDL-67264 core_course: Begin set up for Activity chooser 2020-02-10 08:14:16 +08:00
Sara Arjona
ceaa04ffea Merge branch 'MDL-67681_master' of https://github.com/marxjohnson/moodle 2020-02-04 12:16:39 +01:00
Mark Johnson
d62ce1d419 MDL-67681 Cache: Store coursecattree array in a single key 2020-01-30 13:21:22 +00:00
Jun Pataleta
961833b477 Merge branch 'MDL-67353_reset' of https://github.com/stronk7/moodle 2020-01-30 12:35:56 +08:00
Adrian Greeve
f494e9e6c0 Merge branch 'MDL-67351-master_required_setting' of https://github.com/catalyst/moodle 2020-01-30 08:11:33 +08:00
Andrew Madden
948a951a4e MDL-67351 admin: Create new 'required' admin flag setting.
Extend the admin flag options, that currently allow the 'advanced' and 'locked' states
of a form setting to be controlled by a plugins admin settings, to also include
the 'required' state. These options appear as a list of checkboxes next to the admin
setting.
2020-01-30 10:49:14 +11:00
Eloy Lafuente (stronk7)
4af44dbc8e MDL-67353 course: move form tearDown() to reset_all_data()
We are already cleaning all sort of caches, statics, singletons
there and it's better to ensure they are always reset to avoid
myterious failures @ distance.
2020-01-29 23:43:57 +01:00
Michelle Melton
b5fc2892df MDL-64169 course: fix padding when display on one section per page
(amended to keep the $o.= consistent with surrounding code)
2020-01-29 22:34:35 +01:00
Eloy Lafuente (stronk7)
cefcb68f63 Merge branch 'MDL-64531-master-questiondeletejson' of git://github.com/mudrd8mz/moodle 2020-01-27 17:07:33 +01:00
Andrew Nicols
1d44ac9ec6 MDL-67353 course: Fix broken unit test 2020-01-24 11:26:56 +01: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
Paul Holden
47ff771e80 MDL-66108 course: fix false positives when bulk moving categories. 2020-01-17 16:19:07 +00:00
Sara Arjona
daa7107bfb Merge branch 'MDL-67638_master' of https://github.com/nguyenphuctien/moodle 2020-01-15 12:19:34 +01:00
Mark Johnson
96e440493b MDL-67674 Cache: Lock rebuilding of the course category tree cache 2020-01-15 00:00:54 +01:00
Tien Nguyen Phuc
bc6efcb437 MDL-67638 Course: update course timemodified on bulk category move 2020-01-13 10:38:12 +07:00
Jun Pataleta
88fbee25d9 Merge branch 'MDL-65835-master' of git://github.com/abgreeve/moodle 2020-01-02 11:52:10 +08:00
Adrian Greeve
d0d65b498c MDL-65835 plagiarism: Initial deprecation of old functions.
This is the initial deprecation of:
* plagiarism_save_form_elements
* plagiarism_get_form_elements_module
* plagiarism_plugin::get_form_elements_module
* plagiarism_plugin::save_form_elements
2020-01-02 11:38:49 +08:00
Adrian Greeve
42d7f7f9e4 Merge branch 'MDL-65809-master' of git://github.com/sarjona/moodle 2019-12-24 14:53:03 +08:00
Adrian Greeve
f00542c485 Merge branch 'MDL-66999-master' of git://github.com/bmbrands/moodle 2019-12-23 14:26:39 +08:00
Sara Arjona
a26cfe71d3 MDL-65809 upgrade: clean < 3.5.0 upgrade steps
This just deletes all the upgrade steps previous to 3.5.0. Some
small adjustments, like tweaking globals can also be applied
when needed.

Also includes an upgrade step to prevent upgrading from any
version < 2018051700 (v3.5.0) as anti-cheating measure.

Previous commits have removed/deprecated all the upgradelib functions
not used anymore in codebase. Deletion has been documented in corresponding
upgrade.txt files:

- upgrade_fix_block_instance_configuration()
- upgrade_theme_is_from_family(), upgrade_find_theme_location()
and linkcoursesectionsupgradescriptwasrun setting
- upgrade_block_positions
- upgrade_fix_config_auth_plugin_names()
 and upgrade_fix_config_auth_plugin_defaults()
- format_xxx_upgrade_remove_numsections(), format_xxx_upgrade_hide_extra_sections()
and format_xxx_upgrade_add_empty_sections()
- filter_mathjaxloader_upgrade_cdn_cloudflare()
and filter_mathjaxloader_upgrade_mathjaxconfig_equal()
- get_assignments_with_rescaled_null_grades()

These have been kept because continue being used by restore:

- \core\task\refresh_mod_calendar_events_task
2019-12-20 12:20:43 +01:00
Sara Arjona
3f224a1a41 MDL-65809 upgrade: remove format_xxx_upgrade_remove_numsections
These functions were used only by deleted upgrade steps
so it's safe to proceed with straight deletion, considering
them internal. Deletion has been documented in corresponding
upgrade.txt files:

    - format_topics_upgrade_remove_numsections()
    - format_topics_upgrade_hide_extra_sections()
    - format_topics_upgrade_add_empty_sections()
    - format_weeks_upgrade_remove_numsections()
    - format_weeks_upgrade_hide_extra_sections()
    - format_weeks_upgrade_add_empty_sections()
2019-12-20 12:20:43 +01:00
Bas Brands
9396731e94 MDL-66999 theme_boost: @extend replace .col-xs-*
Remove legacy col-xs-* classes. They are changed in upstream
Bootstrap 4 stable with just col-*.
2019-12-09 10:49:39 +01:00
Marina Glancy
3b0168ce7f MDL-66936 mod_url: revert MDL-65024 adding fullurl to modinfo
This reverts commit cc56e409c3, reversing
changes made to 01cdf16c0e.
2019-12-03 12:24:25 +01:00
Eloy Lafuente (stronk7)
492d047d11 MDL-67284 upgrade: add 3.8.0 separation line to all upgrade scripts 2019-11-17 11:40:19 +01:00
Jun Pataleta
e9f63f3fc0 Merge branch 'MDL-67116-master' of git://github.com/andrewnicols/moodle 2019-11-14 12:37:22 +08:00
Andrew Nicols
c3777543a6 MDL-67116 course: Restore removed line
This line was inadvertently removed in a previous commit.
2019-11-14 11:43:37 +08:00
Adrian Greeve
b6343156f9 Merge branch 'MDL-67116-master' of git://github.com/andrewnicols/moodle 2019-11-14 09:03:31 +08:00
Andrew Nicols
0a5a2ca89b MDL-67116 course: Strict empty string check required
In PHP the following are true:

    assert('' == '');
    assert(0 == '');
    assert(null == '');

The options in the course completion settings are now:

    ''    => none selected
    [int] => itemnumber of activity course completion item.

In the case where the itemnumber was 0  this was being incorrectly
evaluated as an empty string due to the implicit cast to int of the
empty string:

    (int) '' === 0

As a result, the non-strict comparison means that the following are
identical:

    assert(0 == '');
    assert(0 == (int) '');
    assert(0 == '0');

Changing the comparison to a strict comparison is correct because it
ensures the type consitency between the empty string value, and the int
of itemnumber 0. It is safe because the value always comes from the
form, where an int is always returned, and not the DB, where a string is
returned.
2019-11-14 08:59:56 +08:00
Jun Pataleta
289c9e14c4 Merge branch 'MDL-67116-master' of git://github.com/andrewnicols/moodle 2019-11-13 15:31:03 +08:00
Andrew Nicols
c035141971 MDL-67116 course: Fix completion disabled for gradable items
The default value is an empty string (""), which in PHP evaluates to 0 when
cast to a string in our DML layer.

The fix is to forcibly make it null which is not cast to string in DML
for optional strings.
2019-11-13 12:49:59 +08:00
Andrew Nicols
fe795b59e4 MDL-67116 form: Require grade in multi-grade-item activities
AMOS BEGIN
  CPY [rating,rating],[grade_rating_name,rating]
AMOS END
2019-11-13 10:14:37 +08:00
Ryan Wyllie
a492f69caf MDL-67116 course: allow grading completion for non ratings grade item 2019-11-13 10:11:44 +08:00
Eloy Lafuente (stronk7)
d5be859063 MDL-67199 versions: bump all versions and requires near release
version = 2019111800 release version
requires= 2019111200 current beta (week7roll1) version
2019-11-12 17:57:08 +01:00
Sara Arjona
3a9c515057 Merge branch 'MDL-66683-master' of git://github.com/cescobedo/moodle 2019-11-07 17:41:22 +01:00
cescobedo
5d69038bb6 MDL-66683 core: Revert MDL-66181 because created regressions
This reverts commit ed080a580f.
This issue reverts the behaviour modified in MDL-66181, as that change
negatively impacted course-creation workflows. As this appears to be
the intended functionality, the Security team has agreed to revert
this change.
2019-11-07 17:29:30 +01:00
Mathew May
e3bb3da406 MDL-66359 core_course: Modify get_enrolled_users_by_cmid
We need to also provide a user's group along with the current information
2019-11-07 10:47:45 +08:00
Andrew Nicols
e943e7d56f Merge branch 'MDL-66381-master' of git://github.com/Chocolate-lightning/moodle_forum-project 2019-11-05 11:58:56 +08:00
Mathew May
9d752481fc MDL-66381 core_course: Modify get_enrolled_users_by_cmid
We need to also provide a user's picture along with the current information
2019-11-01 11:46:37 +08:00