Commit Graph

140 Commits

Author SHA1 Message Date
David Woloszyn 4807a4dd5f MDL-43056 tool_uploadcourse: Add capability to upload courses from file
An entrypoint capability has been added that allows accessing the
upload tool. Further relevant capability checks are then performed
depending on the action being taken during the upload process.

Co-authored-by: Marina Glancy <marina@moodle.com>
2024-01-31 11:29:33 +11:00
Sara Arjona 2a708f985a MDL-80461 courseformat: Use choicedropdown for the format setting
In MDL-79985 a new form element was created to display a new generic
dropdown with extra information like a description or an icon on each
option.

This commits replaces the select for the course format form element in
the Course settings page with this new component.
2024-01-19 09:37:42 +01:00
David Mudrák 7f67a96521 MDL-80221 lang: Use fixed strings in the tests, too 2023-12-01 06:27:36 +01:00
Ilya Tregubov bf51836399 MDL-73852 enrol_meta: Enable meta enrolment for course upload. 2023-11-03 08:52:15 +08:00
Ilya Tregubov 93b2db25ba MDL-43820 enrol_cohort: Override find_instance
For cohort enrol method we can have multiple instances. We can match
those by cohort idnumber and role provided.

Also adding some extra validation and update tests.
2023-10-26 14:27:06 +08:00
Ilya Tregubov bf7ff76bcd MDL-43820 enrol: Add method to find plugin enrol instance
When upload courses we need to match instance with provided data.
2023-10-26 14:27:02 +08:00
Sara Arjona 9877a06246 Merge branch 'MDL-79551-master-rc' of https://github.com/junpataleta/moodle 2023-10-04 12:28:14 +02:00
Jun Pataleta 94bc2cd38b MDL-79551 versions: bump all versions and requires near release 2023-10-04 13:57:17 +08:00
Paul Holden 833e818f02 MDL-79455 tool_uploadcourse: clean course data fields individually. 2023-10-04 01:24:20 +00:00
Paul Holden ef67f43c67 MDL-79455 tool_uploadcourse: safe preview of uploaded course data. 2023-10-04 01:24:20 +00:00
Ilya Tregubov 5dc60d9f94 MDL-78855 tool_uploadcourse: Create instance only if plugin supports it 2023-08-29 11:14:04 +08:00
Paul Holden aa4ae8f376 MDL-78742 tool_uploadcourse: configure show activity dates value. 2023-07-20 16:28:36 +01:00
Ilya Tregubov a688a9369f MDL-78522 cohort: Enable tests that were disabled in 73839. 2023-07-07 15:42:30 +08:00
Ilya Tregubov a82ccf2b83 MDL-73839 tool_uploadcourse: Temporary disable some tests.
This commit will be reverted in MDL-78522.
2023-06-30 11:57:49 +08:00
Ilya Tregubov fb4304b075 MDL-73839 tool_uploadcourse: Enable cohort enrolment for course upload. 2023-06-30 11:57:49 +08:00
Ilya Tregubov 491a784813 MDL-73839 tool_uploadcourse: Proper enrol instance updates.
We should use update_instance() method instead of direct query.
Fixed validation role method to validate roleids and role names.
Fiexed bug in unit test - course creator role shouldn't be assigned for
self enrolment method.
2023-06-30 11:57:48 +08:00
Eloy Lafuente (stronk7) 061c9d7ba0 MDL-77940 versions: bump all versions and requires near release
version = 2023042400 release version
requires= 2023041800 current rc1 version
2023-04-18 18:08:09 +02:00
Andrew Nicols 9ec46c232d MDL-77186 core: Move all uses of cronlib to new class 2023-03-13 21:21:13 +08:00
Jun Pataleta 00bae8b8a4 MDL-76403 versions: bump all versions and requires near release 2022-11-23 09:45:23 +08:00
Sujith Haridasan 73d604369d MDL-71062 core: Step 1 deprecation of print_error function 2022-07-13 08:20:54 +05:30
Ilya Tregubov 82e3a9ce40 MDL-73981 tool_uploadcourse: Validate enrolment role from csv. 2022-05-05 07:38:47 +06:00
Jun Pataleta 70f6b1605b MDL-74471 versions: bump all versions and requires near release 2022-04-13 10:37:36 +08:00
Eloy Lafuente (stronk7) 4003e31983 MDL-73785 phpunit: Move more tests to use correct names and namespaces
Applied the following changes to various testcase classes:

- Namespaced with component[\level2-API]
- Moved to level2-API subdirectory when required.
- Fixed incorrect use statements with leading backslash.
- Remove file phpdoc block
- Remove MOODLE_INTERNAL if not needed.
- Changed code to point to global scope when needed.
- Fix some relative paths and comments here and there.
- All them passing individually.
- Complete runs passing too.

Special mention to:

- When belonging to other components and being valid api:
  - analytics related tests have been moved to tests/analytics subdir.
  - backup & restore related tests have been moved to tests/backup subdir.
  - events related tests have been moved to tests/event subdir.
  - privacy related tests have been moved to tests/privacy.
  - task related tests have been moved to tests/task subdir.
- Some simple renames, not including the component part anymore (not
  needed now that they are namespaced):
  - some xxxlib_test.php have been renamed lib_test.php
    (when they where testing the corresponding lib.php).
  - cache stores tests have been all renamed store_test, originally
    each one had its own name (file_test, apcu_test, redis_test...)
  - assign feedback tests have been all renamed feedback_test, originally
    each one had its own name (file_test, editpdf_test...)
2022-03-03 12:19:30 +01:00
Helen Foster 7ff6b2daef MDL-73812 lang: Import fixed English strings (en_fix) 2022-02-18 15:50:26 +00:00
Eloy Lafuente (stronk7) 7a0d024e60 MDL-73659 phpunit: restore_date, api, rule, plugin, manager & helper
All restore_date_test, api_test, rule_test, plugin_test,
manager_test, helper_test testcase classes:

- Namespaced with component[\level2-API]
- Moved to level2-API subdirectory when required.
- Fixed incorrect use statements with leading backslash.
- Remove file phpdoc block
- Remove MOODLE_INTERNAL if not needed.
- Changed code to point to global scope when needed.
- Fix some relative paths and comments here and there.
- All them passing individually.
- Complete runs passing too.

Special mention to:

- All restore_date_test cases have been put under xxx\backup
  level 2 (valid API) namespace.
2022-02-05 00:03:32 +01:00
Eloy Lafuente (stronk7) de66ba356e t checkout MOODLE_311_STABLE && git fetch https://github.com/mudrd8mz/moodle.git MDL-73201-311-enfix && git merge --no-ff FETCH_HEAD
Merge branch 'MDL-73201-master-enfix' of https://github.com/mudrd8mz/moodle
2021-12-09 23:18:03 +01:00
Helen Foster 558b4c826d MDL-73201 lang: Import fixed English strings (en_fix) 2021-12-09 19:53:10 +01:00
abgreeve fcd4de8639 MDL-72090 navigation: Update to behat feature files for navigation.
This updates feature files to use the new steps to navigate to certain
pages.
2021-12-09 11:13:35 +08:00
Paul Holden 0645319e62 MDL-72309 course: make category a required field in forms.
Course category fields were changed en masse from simple select
elements to autocompletes in 93d72205, but weren't defined as
required fields. This could lead to exceptions and/or unexpected
behaviour if their values were cleared prior to form submission.
2021-10-04 08:11:32 +01:00
Paul Holden 23765039d4 MDL-69816 tool_uploadcourse: configure course content download value. 2021-01-08 18:43:49 +00:00
Ferran Recio b8e1eec4c7 MDL-69378 tool_uploadcourse: fix enrolment methods uploads 2020-11-03 12:34:28 +01:00
Eloy Lafuente (stronk7) 3a5641cb74 MDL-67673 phpunit: Remove deprecated assertEquals() params
The optional parameters of assertEquals() and assertNotEquals()
are deprecated in PHPUnit 8 (to be removed in PHPUnit 9):

- delta => use assertEqualsWithDelta()
- canonicalize => use assertEqualsCanonicalizing()
- ignoreCase => use assertEqualsIgnoringCase
- maxDepth => removed without replacement.

More info @ https://github.com/sebastianbergmann/phpunit/issues/3341

Initial search done with:

ag 'assert(Not)?Equals\(.*,.*,' --php

Then, running tests and fixing remaining cases.
2020-10-21 12:46:00 +02:00
Eloy Lafuente (stronk7) 40de097e65 MDL-67673 phpunit: Remove deprecated assertContains() uses on strings
Both assertContains() and assertNotContains() are deprecated in PHPUnit 8
for operations on strings. Also the optional case parameter is. All uses
must be changed to one of:

- assertStringContainsString()
- assertStringContainsStringIgnoringCase()
- assertStringNotContainsString()
- assertStringNotContainsStringIgnoringCase()

More info: https://github.com/sebastianbergmann/phpunit/issues/3422

Regexp to find all uses:

ag 'assert(Not)?Contains\('
2020-10-21 12:46:00 +02:00
Eloy Lafuente (stronk7) d95c378771 MDL-67673 phpunit: Remove expectedException annotations
While this is not strictly required, because removal will
happen in PHPUnit 9.0, we are already getting rid of all
uses in core.

From release notes:https://phpunit.de/announcements/phpunit-8.html

The annotations `@expectedException`, `@expectedExceptionCode`,
`@expectedExceptionMessage`, and `@expectedExceptionMessageRegExp`
are now deprecated.
Using these annotations will trigger a deprecation warning
in PHPUnit 8 and in PHPUnit 9 these annotations will be removed.

Also, all uses of expectExceptionMessageRegExp() has been moved
to expectExceptionMessageMatches(). See https://github.com/sebastianbergmann/phpunit/issues/3957

TODO: Various weirdness found while doing the changes with these tests:
- vendor/bin/phpunit lib/tests/exporter_test.php (created MDL-69700)
- vendor/bin/phpunit competency/tests/external_test.php (same issue than prev one)
- vendor/bin/phpunit question/engine/tests/questionengine_test.php (created MDL-69624)
- vendor/bin/phpunit lib/tests/event_test.php (created MDL-69688)
2020-10-21 12:46:00 +02:00
Julien Boulen 93d7220587 MDL-67278 course: Use autocomplete widget for course category selector 2020-09-02 15:30:34 +02:00
Eloy Lafuente (stronk7) fbb0767536 MDL-69475 versions: bump all versions and requires in master
version = 2021052500 release version
requires= 2021052500 same than version

Why 20210525? (25th May 2021) ?

Because master is going to be Moodle 4.0, to be released
on November 2021. And, until then, we are going to have
a couple of "intermediate" releases:

- Moodle 3.10 to be released 9th November 2020. (2020110900)

  This version will be using versions from today to 2020110900
  (once it's released the YYYYMMDD part stops advancing).

- Moodle 3.11 to be released 10th May 2021. (2021051000)

  This version will be using versions from 3.10 release to 2021051000
  (once it's released the YYYYMMDD part stops advancing).

That means that all versions from today to 2021051000 are going
to be used by those 2 "intermediate" releases (3.10 and 3.11).

And we cannot use them in master, because it's forbidden to have
any overlapping of versions between branches (or different upgrade
paths will fail).

So, get that 2021051000, let's add it a couple of weeks to cover
the on-sync period (or a 2 weeks delay max!) and, the first version
that master can "own" in exclusive (without any overlap) is, exactly,
25th May 2021, hence our 20210525.
2020-08-18 00:47:15 +02:00
Paul Holden b9a09480b2 MDL-48391 tool_uploadcourse: access checks for configuring enrolments. 2020-07-22 17:52:24 +01:00
Eloy Lafuente (stronk7) 115cc0214f MDL-68973 versions: bump all versions and requires near release
version = 2020061500 release version
requires= 2020060900 current rc1 (week7roll1) version
2020-06-09 16:23:09 +02:00
Andrew Nicols 7afd16ad84 MDL-66109 behat: Require newline at EOF
This change enables the gherkinlint rule to require a new line at the
end of the file. This change is in keeping with existing Moodle coding
style guidelines.
2020-05-11 11:07:49 +08:00
Paul Holden e1dfd4b83c MDL-66135 tool_uploadcourse: case-insensitive date string comparison.
Account for PM/pm differences in PHP on different OS.
2020-05-01 09:05:07 +01:00
Paul Holden d62fc08ed9 MDL-66135 tool_uploadcourse: support custom course fields. 2020-05-01 00:10:15 +01:00
Eloy Lafuente (stronk7) 1c610609cc Merge branch 'MDL-66024' of https://github.com/paulholden/moodle 2020-01-20 22:47:17 +01:00
Helen Foster 824c87f370 MDL-67527 lang: Import fixed English strings (en_fix) 2019-12-18 21:23:46 +01:00
Paul Holden 714343c06a MDL-66024 tool_uploadcourse: validate shortname/fullname field length. 2019-12-05 07:47:07 +00:00
Luca Bösch 2e7f4fcefd MDL-67210 tool_uploadcourse: Allow only 0 and 1 for visible value. 2019-11-24 18:29:47 +01: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
Luca Bösch d4beb21162 MDL-63268 tool_uploadcourse: Keep source course section number. 2019-07-02 19:44:22 +02:00
Eloy Lafuente (stronk7) c9a1a6341c MDL-65571 versions: bump all versions and requires near release
version = 2019052000 release version
requires= 2019051100 current beta (week6roll2) version
2019-05-12 23:46:34 +02:00
Mathew May e00f1c663c MDL-64506 phpunit: Update unit tests to use classic 2019-04-03 19:34:20 +08:00
Helen Foster 38dc5b9677 MDL-64943 lang: Import fixed English strings (en_fix)
Significant string changes:

* importgroups_help,core_group - Correcting optional fieldnames
  (removing picture, hidepicture and adding groupidnumber, groupingname
  and enablemessaging)

* penaltyforeachincorrecttry_help,core_question - additional paragraph
  about scoring logic

* resultdownloadready,tool_dataprivacy - wording corrected (no need to
  go to a download page)

* auth_dbfielduser,auth_db - varchar data type requirement
2019-02-28 09:50:18 +01:00