Commit graph

23894 commits

Author SHA1 Message Date
Marc-Alexandre Ghaly
3e09319e7a MDL-72890 core_question : Question regrade for question versions
This commit implements a question regrade for the selected
version in the quiz for a slot.

Co-Authored-By: Safat Shahin <safatshahin@catalyst-au.net>
Co-Authored-By: Tim Hunt <tim.hunt@open.ac.uk>
2022-03-04 23:06:50 +11:00
Tim Hunt
4f99e92a81 MDL-73954 quiz: fix decimal places for the percentage on review page 2022-03-04 11:58:16 +00:00
Tim Hunt
61f11f848d MDL-74007 quiz: questions should start as 'Always latest' version
Thanks to Safat Shahin <safatshahin@catalyst-au.net> for help with
the Behat scenarios.
2022-03-04 10:59:13 +00:00
Eloy Lafuente (stronk7)
43b4e6b339 MDL-73824 test: Cover all the changed code with special decsep tests
Various tests have been added to cover the points fixed in the previous
commit, using a localised decimal separator (#). Using the same
numbering, here there are the details:

A. grade/report/singleview/tests/behat/singleview.feature
   grade/tests/behat/grade_category_validation.feature

B. grade/tests/behat/grade_override_letter.feature

C. (done within various scenarios)

D. grade/report/singleview/tests/behat/singleview.feature

E. admin/tool/behat/tests/behat_form_text_test.php

F. grade/tests/behat/grade_to_pass.feature
   mod/lesson/tests/behat/lesson_informations_at_end.feature

G. quiz/tests/behat/preview.feature

H. mod/quiz/tests/behat/info_page.feature

I. question/type/ddimageortext/tests/behat/edit.feature
2022-03-04 10:22:49 +01:00
Eloy Lafuente (stronk7)
3a016e2784 MDL-73824 gradebook: Add support for localised floats where missing
It has been detected, thanks to php80 specially, that there are
various places in core where support for localised floats is
missing. Before php80, some locale-dependent conversions were
performed by PHP, allowing things to work. But with php80 all
those comparisons are now locale-independent. See:

https://wiki.php.net/rfc/locale_independent_float_to_string

That implies that we now need to, always, unformat floats to
be internally the correct (decimal point as separator) in
order to compare it.

While this was visited in the php80 epic (MDL-70745), nothing
was found, all automated tests were passing ok. Problem is that
we run behat tests with en-AU laguage that has the decimal point
separator.

So, in this issue we are fixing all the problems detected by
running those Behat tests using localised (comma) decimal
separator.

Note that there may be other places still causing problems, but
it's really hard to find them programmatically, so we'll have to
wait for real use reports / issues and go fixing them while they
happen.

Back to this commit, this is the list of changes performed (note that
in the next commit, we'll be adding scenarios explicitly using
a localised decimal separator to ensure that they work ok).

A. Changes to various grade forms to ensure that, on their validation
  floats are unformatted properly. Also, changed the corresponding
  form element from current text/PARAM_RAW to proper float ones that
  take care of the conversion in a number of places (but when disabled,
  that's the reason we still have to unformat in validation.
  This includes the following forms:
    - edit_category_form
    - edit_item_form
  (this is the original problem reported that cause all the research
  to be performed against full behat runs)

B. Changes to edit_letter_form, so it uses a proper PARAM_LOCALISEDFLOAT
  (note this is the type of change that surely should be used for all
  the rest of /grade/edit/tree form, including those in the previous
  point).

C. Changes to the grade_item behat generator, so it's able to work with
  localised floats, un-formatting them when needed.
  At lib/behat/classes/behat_core_generator.php

D. Fix problem passing localised floats to scales, not displaying
  properly. At grade/report/singleview/classes/local/ui/finalgrade.php

E. Change the behat text matcher in order to allow comparison of
  localised floats when they are the current ones. Before this change
  the matches was using soft/lazy comparison, so '50' and '50.0000'
  match. Now, when the comma (for example) is used (and only then),
  '50' and '50,000' will also match. This comparison is in use in a
  bunch of tests and makes sense to make it localisation-aware.
  At grade/report/singleview/classes/local/ui/finalgrade.php

F. Fix a couple of number_format() uses in lesson, because they are
  not localised-aware. Switched to format_float(). At mod/lesson/locallib.php

G. Change the quiz_contains_the_following_questions() step to accept
  localised maxmark expectations. At mod/quiz/tests/behat/behat_mod_quiz.php

H. Change the quiz generator so it accepts localised gradepass.
  At mod/quiz/tests/generator/lib.php

I. Change the edit question form to show proper localised penalties,
  previously it was always showing point-decimal ones. Of course,
  leaving the values of the select element unmodified (internal floats).
  Related, also change a couple of tests to, instead of try to match the
  value (always internal floats), match the description (now localised),
  so we can test them with different separators. At:
    - question/type/ddimageortext/tests/behat/backup_and_restore.feature
    - question/type/ddmarker/tests/behat/backup_and_restore.feature
    - question/type/edit_question_form.php
2022-03-04 10:22:49 +01: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
Paul Holden
506229dd95 MDL-73999 quizaccess_seb: use raw getter in pre-validate method.
Changes in 78735a72 made the persistent `get` method return property
values consistently, according to their type and nullability.

The rule `templateid` property is not nullable, but still has code
that treats it as such. Fix that by retrieving the raw value.
2022-03-03 09:34:21 +00:00
Andrew Nicols
b15051a55f Merge branch 'MDL-71636' of https://github.com/timhunt/moodle 2022-03-02 19:56:24 +08:00
Marc-Alexandre Ghaly
7c016b3451 MDL-71636 core_question : API changes for column_base
This commit implements methods visibility changes to column_base class
and its child classes.
2022-03-02 08:14:48 +00:00
Shamim Rezaie
6a1078da7c Merge branch 'MDL-73990-master' of https://github.com/sharidas/moodle 2022-03-02 12:55:34 +11:00
Sujith Haridasan
a2b003a917 MDL-73990 mod_assign: Show the activity info and attachments
Show the activity information in the view page and add/edit submission
page.
- Removed the line change to disable activity header. This should help
    - When any additional files are attached to the assignment by the
      teacher/admin they should be displayed in the view and add/edit
      submission page (in the default settings)
- Added more padding to the "Add submission" button.
- Changed the string 'Activity' to 'Activity instructions'.
2022-03-02 07:07:19 +05:30
Eloy Lafuente (stronk7)
9dde12dc99 Merge branch 'MDL-72092-master' of https://github.com/Chocolate-lightning/moodle 2022-03-01 14:55:02 +01:00
Mathew May
b0532aedd8 MDL-72092 behat: Add private files block where needed 2022-03-01 19:13:20 +08:00
Jun Pataleta
0f35a9b7f9 Merge branch 'MDL-72737-master-2' of https://github.com/bmbrands/moodle 2022-03-01 19:06:52 +08:00
Bas Brands
2faf5e8e48 MDL-72737 theme_boost: update for section header styles 2022-03-01 12:01:59 +01:00
Andrew Nicols
68c0b45ca3 MDL-73308 mod_bigbluebuttonbn: Ensure breakout data is in metadata 2022-03-01 12:03:01 +08:00
Víctor Déniz
af0e3bcadc Merge branch 'MDL-73855' of https://github.com/ssj365/moodle 2022-03-01 01:56:11 +00:00
Andrew Nicols
6544843894 Merge branch 'MDL-73762-master' of https://github.com/ferranrecio/moodle 2022-03-01 09:35:59 +08:00
Jun Pataleta
94e5076ef5 Merge branch 'MDL-73595-master' of https://github.com/bmbrands/moodle 2022-02-28 20:33:31 +08:00
Bas Brands
dd95845bf1 MDL-73595 theme_boost: make tertiary nav more distinct 2022-02-28 13:07:52 +01:00
Andrew Nicols
05ef98134e Merge branch 'MDL-73308' of https://github.com/call-learning/moodle 2022-02-28 14:06:38 +08:00
Laurent David
5c719062d4 MDL-73962 mod_bigbluebuttonbn: Fix issue with buttons on recording table
* The button labels were not correctly matched with language strings resulting
 in empty buttons
2022-02-26 08:53:57 +01:00
Ferran Recio
23856b1086 MDL-73762 core_courseformat: refactor cm and section outputs 2022-02-25 13:35:23 +01:00
Shamiso Jaravaza
2aa61b3a06 MDL-73855 mod_bigbluebuttonbn: Recording Icon settings removed 2022-02-24 18:07:05 -03:30
Mihail Geshoski
8f6c052717 MDL-73335 mod_quiz: Fix behat tests 2022-02-25 02:34:34 +08:00
Jun Pataleta
baf360a7ba Merge branch 'MDL-73915-master-terser' of https://github.com/andrewnicols/moodle 2022-02-24 17:29:17 +08:00
Ilya Tregubov
be7a576994 Merge branch 'MDL-73335-tim' of https://github.com/ilyatregubov/moodle 2022-02-24 09:43:59 +02:00
Tim Hunt
2f9032a198 MDL-73335 quiz/questions: fix Behat fails from nav changes
The Classic quiz behat override is no longer needed.
The way it is implemented is Boost/core works in all cases.
2022-02-24 09:26:29 +02:00
Sujith Haridasan
3458d159e1 MDL-73335 mod_quiz: Add tertiary nav for the quiz module
The tertiary navigation added for quiz module.

- Added tertiary nav buttons for the edit, attempt and view page
- urlselector is added to the overrides page to access user/groups
- The secondary tabs are highlighted when user navigates to
  each page in quiz.
- Updated the behat tests for the changes made.

This commit is mostly Sujith's work, with further changes by
Tim Hunt <T.J.Hunt@open.ac.uk> so we share the blame/credit.
2022-02-24 09:26:00 +02:00
Sara Arjona
43dbb87ce3 Merge branch 'MDL-73355-master-3' of git://github.com/mihailges/moodle 2022-02-23 15:58:56 +01:00
Mihail Geshoski
cbf74374c4 MDL-73355 mod_book: Update the zero state view
Updates the zero state view (when there is no content yet) in
the book activity and also fixes the highlighting of the active
item in the secondary navigation menu in the 'Add new chapter'
page.
2022-02-23 21:44:08 +08:00
Sara Arjona
67df769b6b Merge branch 'MDL-73415-master' of https://github.com/sharidas/moodle 2022-02-23 08:45:39 +01:00
Andrew Nicols
e1b9d5f3cd MDL-73915 js: Drop support for IE and android
Moodle announced that support for IE would be dropped back in August
2020 with Moodle 3.9 but not active steps were taken at that time. That
decision was made in MDLSITE-6109 and this particular step was meant to
be taken in Moodle 3.10.

This is the first step taken to actively drop support for IE.

This commit also bumps the browser support pattern from 0.25% to 0.3%.
The percentage here includes any browser where at least this percentage
of users worldwide may be using a browser. In this case it causes
support for Android 4.3-4.4 to be dropped, which relate to Android
KitKat (released 2013).

This combination of changes means that all of the supported browsers in
our compatibility list support modern features including async,
for...of, classes, native Promises, and more which has a huge impact on
the ease of debugging code, and drastically reduces the minified file
size because a number of native Polyfills included by Babel are no
longer included.
2022-02-23 08:55:20 +08:00
Andrew Nicols
0a4047ab31 MDL-73915 js: Switch amd minification to terser
Unfortunately the babel minify-mangle plugin seems to be abandoned and
in certain circumstances can be very buggy. The only safe options are to
disable it, or to switch to a different minification library.

Not minifying our javascript is not ideal, so this commit updates the
javascript tasks to use a rollup, combined with babel, and terser.

Babel still converts code from ES/UMD/AMD to AMD modules with the
relevant browser support, whilst terser minifies the code.

The rollup bundler handles tracking and creation of sourcemaps, and
supports better parallelisation of the tasks.

Since the upgrade to Node LTS/Gallium requires an upgrade to @babel/core
and eslint, which change the built files anyway, this seems like the
ideal time to make this change.
2022-02-23 08:55:09 +08:00
Andrew Nicols
aa7f7957ea MDL-73915 js: Upgrade babel and eslint 2022-02-23 08:53:54 +08:00
Sujith Haridasan
e6a4eb3c36 MDL-73415 mod_forum: Address the followup issues for forum
This issue is a followup for changes made in forum. And hence
addresses the following issues spotted for forum:
1. Bring back the "Forums" header in the search page.
2. Remove the stale function forum_update_subscriptions_button
3. Fix the redirection to activity tab when subscription is
   changed, in the subscription tab.
2022-02-22 21:57:21 +05:30
Eloy Lafuente (stronk7)
ea403ad70d Merge branch 'master_MDL-73778-oracle-behat-fix' of https://github.com/catalyst/moodle-MDL-70329 2022-02-22 17:23:27 +01:00
Safat Shahin
83e6b3d8d8 MDL-73778 mod_quiz: Oracle Manual grading scenario
This change will resolve Manual grading settings are
remembered as user preferences - failed behat test in
oracle.
2022-02-22 11:34:37 +11:00
Víctor Déniz
774a0a06b6 Merge branch 'MDL-73192' of https://github.com/call-learning/moodle 2022-02-21 23:53:11 +00:00
jfederico
8c9f20e645 MDL-73192 mod_bigbluebuttonbn: Lock settings not working
* The lock settings from the instance were not sent to the BBB API
* The global settings related to lock settings did not show
* lockSettingLockOnJoinConfigurable is not working so removed for now
* Fixed lockSettingsLockOnJoin setting
2022-02-21 15:00:46 +01:00
Víctor Déniz
efdd77a157 MDL-73812 lang: Replace modified strings in tests 2022-02-18 16:14:02 +00:00
Helen Foster
7ff6b2daef MDL-73812 lang: Import fixed English strings (en_fix) 2022-02-18 15:50:26 +00:00
Sara Arjona
fb19d1cc1f NOBUG: Fixed SVG browser compatibility 2022-02-18 15:03:54 +01:00
Víctor Déniz
649fb3cc49 Merge branch 'MDL-73724' of https://github.com/call-learning/moodle 2022-02-17 22:33:21 +00:00
Laurent David
628ee05f98 MDL-73308 mod_bigbluebuttonn: Breakout room
* Fetch recording attached to breakout meetings
* Add tests for breakoutrooms
2022-02-17 18:23:56 +01:00
Laurent David
c25c134728 MDL-73724 mod_bigbluebuttonbn: Error when joining meeting
* When pre-uploaded presentation is uploaded, the meeting refuses to start and
and error is thrown.
2022-02-17 17:26:38 +01:00
Sara Arjona
af7a0ed1a1 Merge branch 'MDL-73313_master' of https://github.com/tasosb/moodle 2022-02-17 08:38:08 +01:00
Anastasios Bithas
c3f4123b38 MDL-73313 mod_bigbluebutton: Option to disable default welcome message
General configuration BBB default messages now work properly.
The option to disable BBB default messages for a course is now available.
2022-02-16 18:52:51 +02:00
Jun Pataleta
6b65550240 Merge branch 'MDL-73373-master' of https://github.com/peterRd/moodle 2022-02-16 21:14:26 +08:00
Ilya Tregubov
bc6416908d Merge branch 'MDL-73370-master' of https://github.com/peterRd/moodle 2022-02-16 12:52:49 +02:00