633 Commits

Author SHA1 Message Date
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
Andrew Nicols
85c1dd0077
MDL-80072 core: Deprecate format_text smiley option
This was actually deprecated in Moodle 2.0 but did not emit.
2024-02-12 11:11:18 +08:00
Ilya Tregubov
f44338eda0
MDL-77326 core_grades: Refactor grade report functions.
Those should be reusable
2023-10-31 10:15:05 +08:00
Jun Pataleta
3c7b5c983e
Merge branch 'MDL-78905-master' of https://github.com/mihailges/moodle 2023-09-27 23:34:05 +08:00
Mihail Geshoski
867e05ea34 MDL-78905 grades: Carry over form data without validation
Avoids validating form data which is carried over from the
simple dynamic form to the advanced form page when creating
or editing grade items, categories and outcomes in the
Gradebook setup.
2023-09-27 09:19:40 +02:00
Ilya Tregubov
0f4efffb76
MDL-79493 core_grades: Fix Behat tests. 2023-09-26 15:49:43 +08:00
Ilya Tregubov
d22800ca42
Merge branch 'MDL-78217-master' of https://github.com/rezaies/moodle 2023-09-22 10:53:55 +08:00
Mathew May
7f33dfc887 MDL-77035 grades: Update toggleall for a11y 2023-09-20 23:53:44 +02:00
Mihail Geshoski
255165f786 MDL-77035 grades: Fix PHP coding style issues
Fixes some preexisting PHP coding style problems in
grade/edit/tree/index.php.
2023-09-20 23:53:44 +02:00
Mihail Geshoski
d8837e51c4 MDL-77035 grades: Fix accessibility violation in gradebook setup
Fixes an accessibility violation in the gradebook setup page
related to the insufficient spacing between the select checkbox
elements and the 'move' icon.
2023-09-20 23:53:44 +02:00
Mihail Geshoski
0062aed025 MDL-77035 grades: Bulk actions area implementation in gradebook setup
Implements the bulk actions area in the gradebook setup page.
2023-09-20 23:53:43 +02:00
Shamim Rezaie
22a97437d1 MDL-78217 grade: Improve front-end grade item weight calculations
This change enhances the user experience in the grade report grader by
moving grade item weight calculations to the front-end. Previously,
these calculations were done on form submission, resulting in slower
performance and less interactivity.

With this improvement, grade item weights are now calculated dynamically
in the browser as users make changes, providing instant feedback and a
more responsive interface. This change improves the usability and
efficiency of the grade report grader.

This is only applicable to natural aggregation type.
2023-09-19 21:00:15 +10:00
Shamim Rezaie
8e73a9ec19 MDL-78082 core_grades: Incomplete Grade Item Handling Enhanced
Problem:
In grade_edittree_column_status::get_category_cell, an assumption was
made that $category->grade_item is always populated. However, this was
not guaranteed, leading to potential issues.

Solution:
To ensure $category->grade_item availability, a $category->load_grade_item();
call was introduced in grade_edittree_column_status::get_category_cell.
This guarantees safe usage of $category->grade_item.

Furthermore, in grade_edit_tree::build_html_tree, $category->get_grade_item()
was replaced with $category->load_grade_item() for enhanced reliability
and potential performance improvement.

Explanation:
These changes enhance robustness and efficiency in gradebook.
Addressing incomplete grade item handling improves code reliability and
user experiences.
2023-09-06 22:20:39 +10:00
Shamim Rezaie
4cf11157c2 MDL-78082 core_grades: Fix locking inconsistency
Problem:
In Moodle 4.2, an unintended change in behaviour occurred when locking
and unlocking grade items. Previously, in Moodle 4.1, locking a grade
item and then subsequently unlocking the grade item left specific grades
for students still locked if they were being locked individually.
However, in Moodle 4.2, the unintended change caused the individual
grades to be unlocked along with the grade item.

Solution:
To address this issue, I modified the set_locked calls in action.php to
pass the cascade parameter as false. Now, when locking or unlocking a
grade item, only the grade item itself is affected, leaving individual
grades unchanged. I have also modified the locking behaviour in the
grade_category class. So, similarly, when locking or unlocking a grade
category, the change applies only to the grade items and grade
categories within the category, without expanding to individual grades.

Explanation:
By making this change, we ensure that the locking mechanism behaves as
expected, providing a consistent and desirable user experience. Locking
and unlocking a grade item or category will no longer inadvertently
affect individual grades, preserving their locked status and avoiding
loss of data when unlocking a grade item associated with the total mark
of a category.
2023-09-06 22:20:39 +10:00
Kevin Percy
d949243af7 MDL-78436 gradebook: Require override to add feedback 2023-08-15 14:13:03 +08:00
Jun Pataleta
ad81e6f315
Merge branch 'MDL-78561-master' of https://github.com/kevpercy/moodle 2023-08-10 18:32:23 +07:00
Kevin Percy
14b1796860 MDL-78561 grade: Deprecate grade_helper::get_lang_string() 2023-08-10 11:39:50 +08:00
Ilya Tregubov
2e18ba8750
Merge branch 'MDL-78550-master' of https://github.com/junpataleta/moodle 2023-08-07 11:34:04 +08:00
Ilya Tregubov
3f16a97a2d
MDL-78430 core_grades: Support grades categories and outcomes 2023-08-02 10:29:38 +08:00
Sara Arjona
3e4157b21f
Merge branch 'MDL-78430-master-2' of https://github.com/ilyatregubov/moodle 2023-08-01 13:02:47 +02:00
Mathew May
b2e1121fc0
MDL-77639 gradebook_setup: Create outcomes via dyn form 2023-08-01 11:34:04 +07:00
Ilya Tregubov
6958389431
Merge branch 'MDL-78043' of https://github.com/Chocolate-lightning/moodle 2023-07-31 08:49:14 +08:00
Jun Pataleta
668d287235
MDL-78550 grade: Hide empty fillers from the accessibility tree
* And remove the title attribute for the filler as it is unnecessary.
2023-07-28 17:46:56 +08:00
Jun Pataleta
a7a9182262
MDL-78550 grade: Fix HTML validator errors
* Remove invalid "text" attribute in <td> elements
* Use proper id value for grade category checkboxes.
2023-07-28 16:28:29 +08:00
Mihail Geshoski
b5a87c1919
MDL-78430 core_grades: Carry over basic grade item data to advanced form 2023-07-28 16:16:19 +08:00
Ilya Tregubov
1d3f4d631d
MDL-77638 grade: Create add/edit grade category modal. 2023-07-25 17:05:41 +08:00
Mathew May
c0bce6f582 MDL-78043 grades: Migrate delete item confirmation to modal 2023-07-13 13:16:12 +08:00
Mihail Geshoski
b4cbad8b33
MDL-77632 core_grades: Add rowtitle class to grade category cell 2023-06-30 09:29:00 +08:00
Mihail Geshoski
3643f48e0f
MDL-77632 core_grades: Fix row_column_of_table_should_contain() 2023-06-30 09:28:59 +08:00
Ilya Tregubov
65cafd36cc
MDL-77632 core_grades: Move select checkboxes to name column. 2023-06-30 09:28:59 +08:00
Jun Pataleta
132cf637f3 Merge branch 'MDL-77637-trimmed' of https://github.com/Chocolate-lightning/moodle 2023-06-27 10:33:34 +08:00
Mathew May
997134f52f MDL-77637 gradebook_setup: Create gradeitems via dyn form 2023-06-27 09:01:25 +08:00
Meirza
337bc1554a MDL-78164 lib: Added class properties that are not declared in grade
In PHP 8.2 and later, setting a value to an undeclared class property is
deprecated and emits a deprecation notice.
So we need to add missing class properties that still need to be declared.

Co-authored-by: Andrew Nicols <andrew@nicols.co.uk>
2023-06-21 14:41:35 +07:00
Jun Pataleta
b5c0d804f1 Merge branch 'MDL-75512-master' of https://github.com/ilyatregubov/moodle 2023-05-23 20:16:44 +08:00
Ilya Tregubov
95a0ba16da
MDL-75512 core_grades: Add sticky footer to setup page. 2023-05-15 10:50:17 +08:00
David Woloszyn
f3f816ced9 MDL-77144 core_grades: fix headings in grade area
Previous to this, heading logic was performed in print_grade_page_head.
With the deprecation of the showtitle param, it makes sense now to
explicitly set the heading when the function is called. This prevents
duplicated text between the heading and teriary dropdown. This patch
also fixes unnecessary text that was concatenated onto headings.
2023-05-11 10:09:09 +10:00
Ilya Tregubov
11b6dce50c MDL-77033 core_grades: Add status column to setup page
Also make action menu consistent with grader report
2023-03-30 20:20:10 +08:00
Jun Pataleta
40a59bccff Merge branch 'MDL-76147-master-2' of https://github.com/ilyatregubov/moodle 2023-03-24 09:32:40 +08:00
Ilya Tregubov
d2fe7362af MDL-76147 gradereport_grader: Remove show calculation setting. 2023-03-24 09:26:45 +08:00
Mihail Geshoski
4d7900a391 MDL-77032 grade: Collapsible grade categories in Gradebook setup 2023-03-17 23:04:41 +08:00
Jun Pataleta
530e55e077 Merge branch 'MDL-77472' of https://github.com/paulholden/moodle 2023-03-08 11:53:46 +08:00
Paul Holden
6a62ccc52a
MDL-77472 grade: correct URL param type for adding tracking params. 2023-03-05 20:06:40 +00:00
Mihail Geshoski
a05cfc2487 MDL-77031 grade: Revamp the styling of the gradebook setup 2023-03-02 17:01:54 +08:00
Paul Holden
7906f48c6f MDL-76500 grade: fix grade form when item cannot be overridden. 2022-12-06 09:20:09 +00:00
Jun Pataleta
3c6fdb1993 Merge branch 'MDL-71062-master' of https://github.com/sharidas/moodle 2022-07-13 11:39:08 +08:00
Sujith Haridasan
73d604369d MDL-71062 core: Step 1 deprecation of print_error function 2022-07-13 08:20:54 +05:30
Paul Holden
e9135d6708 MDL-74314 grade: use repeatable form elements for grade letters. 2022-06-17 10:48:26 +01:00
Paul Holden
3596fc1fe6 MDL-72377 grade: fix category form hidden/until fields.
Ensure the saved values for the hidden and hidden until fields are
populated when editing a grade category. Fix behaviour on enabling
the hidden until field.

Re-enable tests commented out in eba1d32c.
2022-06-06 15:31:03 +01:00
Sujith Haridasan
aa1c2e2382 MDL-73848 administration: Fix the breadcrumbs and nav highlights
Create or update the breadcrumbs in the site administration
pages where it is required.
Highlight the corresponding site adminstration tab.
Highlight the primary nav to Site administration when user
is navigating to any of the site administration pages.

Also changed the boostnavbar so that the nodes in the secondary
navigation are not shown in the breadcrumbs when user is in site
administration page.
2022-03-25 17:44:47 +08: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