Commit Graph

58 Commits

Author SHA1 Message Date
Huong Nguyen ccefde0f53 Merge branch 'MDL-81289-main' of https://github.com/ferranrecio/moodle 2024-03-21 15:12:01 +07:00
ferranrecio 19af72f6ca MDL-81289 core_courseformat: fix get_format_string params 2024-03-19 17:27:03 +01:00
Ilya Tregubov d567ba9a81 Merge branch 'MDL-80919' of https://github.com/paulholden/moodle 2024-03-19 10:14:07 +08:00
Eloy Lafuente (stronk7) 29a541724f MDL-65292 style: Fix all the function declaration ordering
This has been generated running the following Sniff,
part of the Moodle's CodeSniffer standard:
- PSR2.Methods.MethodDeclaration

It just ensures all the function declarations have
the correct order for:
- abstract and final.
- visibility (public, protected, private).
- static.

So, all the lines modified by this commit are function declarations
and the only changes are in the positions of those keywords.
2024-02-28 23:47:47 +01:00
Eloy Lafuente (stronk7) ba1f804ffa MDL-65292 style: Fix all function declarations white space
This has been generated running the following Sniffs, all
them part of the Moodle's CodeSniffer standard:
- PSR12.Functions.ReturnTypeDeclaration
- PSR12.Functions.NullableTypeDeclaration
- moodle.Methods.MethodDeclarationSpacing
- Squiz.Whitespace.ScopeKeywordSpacing

All them are, exclusively, about correct spacing, so the changes
are, all them, only white space changes.

Only exceptions to the above are 3 changes what were setting the
return type in a new line, and, when that happens, the closing
parenthesis (bracket) has to go to the same line than the colon.
2024-02-28 23:33:26 +01:00
Paul Holden f917baf9ee MDL-80919 course: initial check for section modules to duplicate. 2024-02-20 16:05:58 +00:00
Sara Arjona 1ea31db81c MDL-80249 course: Hide secondary menu and add breadcrumb to section page 2024-02-14 08:03:56 +01:00
Sara Arjona 9e25f21164 MDL-80248 course: Deprecate get/set_section_number()
The methods core_courseformat\base::set_section_number() and
core_courseformat\base:: get_section_number() have been deprecated
and replaced by core_courseformat\base::set_sectionnum() and
core_courseformat\base::get_sectionnum().
The new methods use the null value when all the sections must be
displayed (instead of 0). That way, section 0, can be displayed on
a single page too.
2024-01-19 12:03:37 +01:00
Sara Arjona e6f75b59a3 MDL-80248 course: Display only content for the General section 2024-01-19 12:03:36 +01:00
Ferran Recio 557099a81e MDL-80187 core_courseformat: create and delete section methods 2024-01-17 10:39:13 +01:00
Ferran Recio 141568c30d MDL-80187 core_courseformat: format action classes 2024-01-17 10:39:12 +01:00
Sara Arjona 165aa2c318 MDL-72656 course_format: Final deprecation for renderers 2023-12-11 09:00:13 +01:00
Sara Arjona 6792a40924 MDL-79986 course: Create new course/section.php page
The page course/section.php has been created, to display the content of a
single section. This page will only accept sectionid (to get rid of the
legacy sectionnumber).

Some features of this page:
- The General section won't be displayed anymore above the selected
section.
- In the main course page content, regardless of the Course layout ("All
sections on one page" vs "One section per page"), all the section names
will link to the new page (except when editing mode is on).
2023-12-01 09:15:48 +01:00
Paul Holden 6de6f64199 MDL-75329 course: defensive counting of course sections.
Avoids errors due to pre-existing integrity issues with course
data, where the absence entirely of section data would result in
PHP errors.
2023-09-26 12:18:32 +01:00
Eloy Lafuente (stronk7) 731f64226d MDL-78934 behat: Replace all the rest of goutte by browserkit
Basically all them are comments.

Only remaining occurrence remaining is
in composer.lock file, because friends-of-behat/mink-extension
still has the old goutte as dev requirement, but that doesn't
affect us at all (no goutte is installed anymore, see the vendor
directory and/or the lock file).
2023-08-18 13:59:17 +02:00
Jun Pataleta 08a48a9090 Merge branch 'MDL-78283-master' of https://github.com/ferranrecio/moodle 2023-07-27 14:48:15 +08:00
Ferran Recio b2b1915e25 MDL-78282 core_courseformat: add non-ajax cm actions translation 2023-07-26 15:44:28 +02:00
Ferran Recio 6e1fff1a57 MDL-78283 core_courseformat: group mode dropdown 2023-07-19 17:52:00 +02:00
Marina Glancy 8fc1486d36 MDL-77164 various: fix incorrect phpdocs 2023-04-13 11:35:06 +01:00
Ferran Recio ae799fad7d MDL-76905 core_courseformat: match prototype visual style 2023-03-22 14:08:51 +01:00
Ferran Recio 6ac6100f1c MDL-76894 core_courseformat: bulk move section 2023-03-17 16:18:19 +01:00
Ferran Recio 856b295569 MDL-76851 core_courseformat: plugin custom editor strings
Most section related actions require the frontend to use alternative
strings depending on the format plugin lang file. This patch adds
overridden strings to the current setViewFormat course editor setup
object.
2023-03-17 11:07:13 +01:00
Andrew Nicols c9cc52aec1 Merge branch 'MDL-77037-master' of https://github.com/laurentdavid/moodle 2023-03-09 21:53:01 +08:00
Laurent David 387371bacd MDL-77037 core_courseformat: Refresh course index
* Refresh course index when language change
2023-03-09 08:41:02 +01:00
Philipp Memmel e026dd9caf MDL-75542 core_courseformat: Add param for expanding section 2023-03-03 07:54:07 +01:00
Andrew Nicols 0c8b3749f2 Merge branch 'MDL-40600-master-duplicate_section' of https://github.com/alexmorrisnz/moodle 2023-03-02 09:23:05 +08:00
Amaia Anabitarte b37fe9a088 MDL-76990 core_course: Recover move right/left functionality 2023-02-27 18:27:57 +01:00
Ferran Recio 01d6ba02a3 MDL-40600 core_courseformat: duplicate a named section with copy
When a named section is duplicated, the name must have a (copy) particle
to make visible what section is the original and what is the copy.
2023-02-27 09:19:26 +13:00
Alex Morris f1c4cc73df MDL-40600 course: Add ability to duplicate section 2023-02-27 09:10:36 +13:00
Andrew Nicols ef09257dc1 MDL-76362 core: Use empty default string when getting prefs
The json_decode function does not accept a null, which is the
traditional default for get_user_preferences. By passing a default of
am empty string we avoid issues in PHP 8.1.
2023-01-23 09:15:54 +08:00
Marina Glancy b0a83aa7bd MDL-76362 various: Avoid passing nulls to functions that don't allow nulls
PHP 8.1 is more strict on the parameter type. Functions such as trim(), strlen(), str_replace(), etc
show notice when null is passed as an argument
2023-01-23 09:15:54 +08:00
Andrew Nicols a3cc26f8bb MDL-76583 core: Update uses of external_* classes 2023-01-19 07:34:09 +08:00
Ferran Recio fe4784e60f MDL-74989 core_courseformat: migrate cm delete to reactive
Migrate the course index delete activities to the new reactive actions
with batch deletion.
2023-01-03 13:07:31 +01:00
Ferran Recio 63a7c58ee3 MDL-76188 core_courseformat: migrate highlight to reactive component
The highlight and unhighlight sections applies only to the format_topics
plugins. With this commit all the related code is migrated to reactive
component and format_topics extend the current course editor to add all
the logic
2023-01-02 11:39:52 +01:00
Philipp Memmel 4294acc5ab MDL-75771 core_courseformat: Fix capability for edit controls
course_format\base:show_editor now by default uses 'moodle/course:manageactivities', but also accepts other capabilities as param
2022-10-28 17:24:37 +02:00
Víctor Déniz f531f46d9e Merge branch 'MDL-75074-master' of https://github.com/sammarshallou/moodle 2022-10-24 16:43:08 +01:00
Mark Johnson 9e7d9a0e9b MDL-67020 Cache: Prevent unnecessary coursemodinfo rebuild 2022-10-19 09:04:30 +01:00
sam marshall f696590f0a MDL-75074 core_courseformat: Output classes are not inherited
If you have one course format that extends another one, any course
format output classes that are not defined in the child format will
now inherit from the parent (instead of from the base class as
before).
2022-10-03 11:22:35 +01:00
Jason den Dulk ba53ec733a MDL-65478 backup, course format: Handle editor elements in course format
Modified course format options reading and writing to be able to handle Editor elements by enabling them to split array values into
multiple values before inserting into database, and combining multiple values into an array when reading from the database.
Modified backup and restore code to use backup_nested_elements, and to interact directly with the database.

Co-authored-by: Jason den Dulk <jasondendulk@catalyst-au.net>
Co-authored-by: Matthew Hilton <matthewhilton@catalyst-au.net>
2022-05-03 14:23:37 +10:00
Ferran Recio b4f62d2426 MDL-74257 core_courseforrmat: fix make available badge 2022-03-23 17:31:22 +01:00
Huong Nguyen bfe14e2312 MDL-72991 Course: Partial course cache rebuild with cache versioning 2022-03-17 15:34:26 +07:00
Dongsheng Cai f97b86e841 MDL-72991 Course: Partial course cache rebuild
When updating/deleting a section/module, the system now only
invalidate of the element (section/module), not the whole course cache
Also, the system now only recalculate the cache for element (section/module)
if necessary, not the whole course cache

Move module/section purging to course_modinfo:
  + course_modinfo::purge_course_section_cache_by_id was created to purge section by id
  + course_modinfo::purge_course_section_cache_by_number was created to purge section by number
  + course_modinfo::purge_course_module_cache was created to purge module
2022-03-17 15:34:01 +07:00
Andrew Nicols 6544843894 Merge branch 'MDL-73762-master' of https://github.com/ferranrecio/moodle 2022-03-01 09:35:59 +08:00
Ferran Recio 479faca428 MDL-73762 core_courseformat: fix coursedisplay dependency
For legacy reasons, the course renderings uses a format setting to know
if the page is multiple sections per page or a single section per page.
This format specific dependency is not solved using a get_course_display
format method any plugin can extend.
2022-02-25 13:35:23 +01:00
Andrew Nicols faa6c74404 Merge branch 'MDL-73547-master-v03' of https://github.com/ferranrecio/moodle 2022-02-25 10:55:20 +08:00
Ferran Recio 3651b85fbe MDL-73547 core_courseformat: add collapsed section update actions
Now content and course index sections have special mutations to store
the collapsed preferences. This way the backend implementation is
independent of the frontend one and can use caches or other kind of
optimizations of necessary.
2022-02-21 12:33:33 +01:00
Ferran Recio c64bef51a9 MDL-73547 core_courseformat: enable course index cache
Adding caches to the course editor reactive state. The patch improve the
course index loading.
2022-02-21 12:33:33 +01:00
Ferran Recio d7d154bd8b MDL-73683 core_courseformat: format section visible logic
Move the section visible logic to the format base class. This way format
plugins can decide whenever a section is visible or not instead of using
format custom settings from core.
2022-02-15 13:15:09 +01:00
Ilya Tregubov ac93013cd1 MDL-72995 core_course: Revert "MDL-55231: Partial course cache rebuild"
This reverts commits c1468388bc,
c1468388bc and
9a900492bc.
2021-11-04 11:57:58 +02:00
Ferran Recio 3d2a6eacae MDL-71779 core_courseformat: reactive add and delete sections 2021-10-28 16:41:17 +02:00