Commit graph

142 commits

Author SHA1 Message Date
Shamim Rezaie
7dbd7ee195 MDL-71163 mod_assign: remove duplicate available from and due date info 2021-04-30 17:13:56 +10:00
Neill Magill
06a69802d6 MDL-64336 assign: Teachers should be able to see all submissions
Before this change a teacher would be able to see users listed if:

* They have an active enrolment and can submit
* They have an an inactive enrolment for a role that can submit

After this change they will additonally be able to see users listed:

* That have an active enrolment and have submitted
* That have an inactive enrolment and have submitted

This means that if an assignment has it's context frozen all users
that have made some form of submission will still be listed.

It will also apply if the submission capability is removed from a
user.

If a user's enrolment is deleted they will not be listed.

The submission and grading counts have also been updated so
they will reflect the new rules.
2021-04-21 15:14:14 +01:00
Neill Magill
1f55fff393 MDL-64336 assign: Submissions should be visible while frozen
Before this change if a student visited an assignment that is
frozen they would only see the title and description even if
they had made a submission to it.

After the change they will be able to see the status of their
submission and any feedback and grades they have recived.

It will also make the Moodle app recognise that submission
should not happen because the assignment is frozen.

Tests based on ones created by Andrew Nicols
2021-04-21 15:14:14 +01:00
Eloy Lafuente (stronk7)
713722c3fb MDL-71036 phpunit: Coding style changes, 99% whitespace only
I've gone over a few of the mofified files (those
which were showing warnings and errors to CiBoT. Some of them
have been fixed completely, while others only have fixed
for the lines belonging to this issue (lib/tests/moodlelib_test.php)
for example.
2021-03-11 23:04:32 +01:00
Eloy Lafuente (stronk7)
8a14a7bd22 MDL-71036 phpunit: assertContains() now performs strict comparison
The methods assertContains() and assertNotContains() now perform
strict (type and value) comparison, pretty much like assertSame()
does.

A couple of new assertContainsEquals() and assertNotContainsEquals()
methods have been created to provide old (non-strict) behavior, pretty
much like assertEquals() do.

Apart from replacing the calls needing a relaxed comparison to those
new methods, there are also a couple of alternative, about how to
fix this, depending of every case:

- If the test is making any array_values() conversion, then it's better
  to remove that conversion and use assertArrayHasKey(), that is not
  strict.
- Sometimes if may be also possible to, simply, cast the expectation
  to the exact type coming in the array. I've not applied this technique
  to any of the cases in core.

Link: https://github.com/sebastianbergmann/phpunit/issues/3426
2021-03-11 23:04:31 +01:00
Eloy Lafuente (stronk7)
ba5b6089d5 MDL-71036 phpunit: Renamed various regexp-related assertions
In PHPUnit 9.1, the following regexp-related assertions
have been deprecated and there are new alternatives for
all them:
    - assertRegExp()     -> assertMatchesRegularExpression()
    - assertNotRegExp()  -> assertDoesNotMatchRegularExpression()

This is about to, simply, move all cases to the new alternatives.

Source: https://github.com/sebastianbergmann/phpunit/blob/9.1.0/ChangeLog-9.1.md

Regexp to find all them:

    ag 'assertRegExp|assertNotRegExp' -li
2021-03-11 19:22:24 +01:00
Mikhail Golenkov
ddcd769e93 MDL-69631 assign: Add 'Draft' filter for grading table 2021-01-21 14:36:01 +11:00
Mikhail Golenkov
c8229e3915 MDL-70520 mod_assign: Use task API to get scheduled task lastruntime 2020-12-22 12:57:17 +11:00
Paul Holden
05680020e7 MDL-67702 mod_assign: distinct uniqueid value for grading tables.
This has the effect of making table sorting and filtering by initials
apply only to the current table instance, rather than to all of them.
2020-11-09 23:18:09 +00: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
Adrian Perez
c1bce8b4c7 MDL-67126 assign: set completion state for all group members 2020-05-18 12:29:01 +02:00
Sara Arjona
d2b7f6f556 MDL-65809 upgrade: remove get_assignments_with_rescaled_null_grades
This function was used only by deleted upgrade steps
so it's safe to proceed with straight deletion, considering
it internal. Deletion has been documented in corresponding
upgrade.txt files.
2019-12-20 12:20:43 +01:00
Marina Glancy
02282f8c49 MDL-67088 mod_assign: compare time without case for MacOS compat 2019-10-30 19:23:38 +01:00
Juan Leyva
dcadc8c54c MDL-65968 notifications: Use f1 size avatars for Push notifications 2019-09-17 16:29:02 +02:00
John Yao
62f1640df2 MDL-65116 mod_assign : Assignment due date does not update for groups.
This commit fixes the assignment due date not showing correctly according to groups selected by users who can view grades
2019-08-23 13:08:53 +10:00
Jake Dallimore
db381d5c87 MDL-66147 mod_assign: Change assign to return calculated instance data
Changes include:
- Added a private method calculate_properties(), which calculates
per-user instance properties and stores them in an instance var.
- get_instance() now takes a userid param, and calls the
calculate_properties() method, allowing per-user instances to be
returned.
- Added a public method get_default_instance(), which returns the
non-augmented instance data (no per-user properties), so we can
still get back the raw instance data when needed.
- The get_course method has been changed to make sure we always have an
object property, not a string - which happened in some cases (when
commenting on the assign submission page, for example).
2019-08-12 09:35:51 +08:00
Juan Leyva
2356454f21 MDL-60680 notifications: Include action buttons information 2019-04-25 14:55:57 +02:00
Juan Leyva
36fa0ec900 MDL-60680 notifications: Return custom data in notifications 2019-04-25 14:55:18 +02:00
Eloy Lafuente (stronk7)
85f47bae7f MDL-65204 phpunit: various fixes to assertions
Namely:
   - 3rd param of assertEquals() cannot be null.
   - Some incorrect uses of assertNotEmpty().
   - Comparing 2 strings now uses strict (===) evaluation.
       Link: https://github.com/sebastianbergmann/phpunit/issues/3185
     Solution here is one of:
       a) Return to the previous situation, making the comparison
          softer. That can achieved by forcing different types, so
          float == string works.
       b) Changing APIs (both forms and database return strings) to
          perform some conversion to floats. That would make float
          comparison (with floats or strings) to work too.
     The patch here follows the a) approach. Changing all the internals
     for proper float handling sounds excesive when it has been working
     perfectly since ever. So we went the easier route, just getting
     rid of the new === comparisons when needed by changing expectation
     types to float.
2019-04-03 10:39:19 +08:00
Mark Nelson
2a0b517257 MDL-65173 message_email: removed bogus logic
This reverts commit 0f38e62970.
2019-03-25 17:12:53 +08:00
Amaia Anabitarte
0f38e62970 MDL-64400 core_messages: Mark notifications sent via email as read 2018-12-27 09:15:53 +01:00
Damyon Wiese
064f15033f MDL-60474 assign: Consistent user filters
Use the current filters and sorting on the user grading table in the single
page grading app when it is possible.

This replaces the popover used to configure the filters to one that closely matches the
one from the grading table. It supports standard filters, workflow filters and allocated marker filters.

It will also support group filtering and suspended user filtering but we don't show the controls for those in
the single grading page.
2018-12-19 10:10:23 +08:00
Albert Gasset
577fdc3438 MDL-63820 assignfeedback_comments: Implement get_file_areas 2018-10-30 15:25:58 +01:00
Mark Nelson
3672775931 MDL-27520 assignfeedback_comments: copy files to feedback
This respects the setting 'Comment inline' where the content
of a submission is copied into the feedback form.
2018-10-17 13:15:49 +08:00
Eloy Lafuente (stronk7)
682357004f Merge branch 'MDL-60685-master' of git://github.com/damyon/moodle 2018-10-03 00:23:10 +02:00
Damyon Wiese
851b5c7f2a MDL-60685 assign: Do not falsely use admin user
When an assign_grades record is automatically populated, do not use the admin user as the default grader.

This would generate false information on the assignment summary screen and send false notifications from
the admin user.
2018-08-02 14:19:34 +08:00
Shamim Rezaie
faa5d173cc MDL-58768 mod_assign: Add $user param to assign::can_grade 2018-07-28 07:51:32 +10:00
Jake Dallimore
25a592ff5f Merge branch 'MDL-62715-master' of git://github.com/andrewnicols/moodle 2018-07-03 08:49:35 +08:00
Andrew Nicols
de06b63344 MDL-62715 mod_assign: Bump submissions back when grading in tests 2018-06-21 08:40:39 +08:00
Damyon Wiese
994d0da35e MDL-60950 assign: Update incompatible unit test
Maintain compatibility with unit test changes after MDL-55609.
2018-06-19 10:56:53 +08:00
Damyon Wiese
c957707106 MDL-60950 assign: Rename class
testable_assign was renamed to mod_assign_testable_assign
2018-06-19 10:53:51 +08:00
Damyon Wiese
a5ff898f90 MDL-60950 assign: Test for the requires grading filter
This test covers when the requires grading filter is applied, but the
assignment has no grade and the feedbackcomments plugin is disabled.
2018-06-19 10:09:42 +08:00
Andrew Nicols
a6b8fc7830 MDL-55609 assignfeedback_comments: Remove shared setUp 2018-06-01 07:30:32 +08:00
Andrew Nicols
757d5b7cdc MDL-55609 mod_assign: Remove shared setUp for all tests 2018-06-01 07:30:32 +08:00
Mark Nelson
376a79c242 MDL-36941 core: added events for notifications 2018-03-23 12:30:27 +08:00
Zig Tan
6901981962 MDL-42676 mod_assign: Display message fix when using grade override
Logic fix in mod_assign locallib.php to correctly set the submissionlockedstatus,
and added associated unit test in test_grade_submission_override()
2017-12-12 09:01:35 +08:00
John Okely
7323c473cc MDL-56646 assign: Add ability to fix errant grades 2017-08-29 07:23:01 +00:00
Cameron Ball
26aedd4abf
MDL-58514 mod_assign: Apply consistent logic for overrides
Previously the assign submission page was using "lenient" logic
for overrides when more than one group override applied to a user
(i.e., use the earliest "open" date and the latest "due" date)
when really it should be using the sortorder as per the assign
grading table.
2017-05-03 16:59:22 +08:00
Damyon Wiese
f2a6b9cac9 MDL-58278 mod_assign: Ignore send notify with mw
When marking workflow is on and the grade is not released we never send notifications anyway.
Instead of preventing the grading form from submitting (validation error) we silently ignore it.
2017-04-20 11:43:34 +08:00
Tony Butler
eb43ef6c97 MDL-57602 mod_assign: Add 'Granted extension' filter for grading UI 2017-02-16 11:23:41 +00:00
Damyon Wiese
230ae095b4 MDL-57766 mod_assign: Marker allocation fixes
Marking allocation was only ever applied in the view for the grading table. It should
have been added to the list_participants function because that is used by webservices and
the new grading UI.
2017-02-09 17:06:21 +08:00
David Monllao
cf4019cf40 Merge branch 'MDL-29795_master' of https://github.com/dmonllao/moodle 2016-11-07 09:20:59 +08:00
Eric Merrill
0e8b51607b MDL-47162 core_message: Cleanup of messaging course ids code 2016-10-27 18:12:42 +02:00
Amanda Doughty
cc350fd9c8 MDL-47162 core_message: Add course id to message eventdata 2016-10-27 18:11:27 +02:00
Kenneth Hendricks
a13f1f4996 MDL-29795 assign: Only display date columns if overrides 2016-10-27 14:10:35 +11:00
Ilya Tregubov
d685b95935 MDL-29795 mod_assign: Add user/group override assignment module 2016-10-24 11:03:49 +01:00
Andrew Nicols
4ceed4dfa6 MDL-55981 core: Remove site:accessallgroups from teacher 2016-10-21 08:55:58 +08:00
Damyon Wiese
890c260307 MDL-55071 phpunit: Fix failing tests due to changes in default output
Part of MDL-55071
2016-09-23 10:57:13 +01:00
Dan Poltawski
daa571af9f Merge branch 'MDL-55944' of https://github.com/mr-russ/moodle 2016-09-19 11:25:12 +01:00
Russell Smith
74ee9d29d2 MDL-55944 testing: Reduce sleep usage.
Remove sleep() and replace with waiting for a second to roll over,
this results in a simpler call the guarantee time() has moved forward
2016-09-14 09:49:30 +10:00