Commit graph

7464 commits

Author SHA1 Message Date
Damyon Wiese
cfd390ee94 MDL-63765 behat: Fix behat tests opening a menu
If javascript is disabled, we don't need to open the menus at all. If it is enabled
we should use the custom step where possible.

In some tests (user profile) we have to use link_or_button because
the element that opens the menu will be a link or a button in different themes.
2018-10-26 16:14:41 +08:00
Damyon Wiese
3ed1cec01e MDL-62139 behat: Invalid test
If javascript is disabled, we can't open the menu.
2018-10-23 16:47:20 +08:00
Andrew Nicols
e1cc780d90 MDL-63657 tool_mobile: Coding style fix 2018-10-23 11:21:51 +08:00
Andrew Nicols
38259438dd Merge branch 'MDL-63657-master' of git://github.com/mickhawkins/moodle 2018-10-23 11:19:46 +08:00
Andrew Nicols
33368fb6d5 MDL-63664 tool_policy: Whitespace fix 2018-10-23 10:54:15 +08:00
Michael Hawkins
1139481e58 MDL-63657 tool_mobile: Add support for removal of context users
This issue is a part of the MDL-62560 Epic.
2018-10-23 10:54:14 +08:00
Andrew Nicols
dfb151b2d9 Merge branch 'MDL-63664-master' of git://github.com/mickhawkins/moodle 2018-10-23 10:42:48 +08:00
Michael Hawkins
f6843ac966 MDL-63664 tool_policy: Add support for removal of context users
This issue is a part of the MDL-62560 Epic.
2018-10-23 10:02:58 +08:00
Andrew Nicols
e1121c2ed5 MDL-62560 tool_dataprivacy: Behat fix for protected check 2018-10-23 08:17:28 +08:00
David Monllao
14f70eda28 Merge branch 'MDL-62309-master-optionalpolicies' of git://github.com/mudrd8mz/moodle 2018-10-22 16:28:41 +02:00
David Monllao
f7642bebc5 Merge branch 'MDL-62560-master' 2018-10-22 12:52:58 +02:00
Andrew Nicols
9e217d8441 MDL-62560 tool_dataprivacy: Add a purpose override cache 2018-10-22 12:50:16 +02:00
Andrew Nicols
b519dab3bd MDL-62560 tool_dataprivacy: Fetch user purpose once 2018-10-22 12:50:16 +02:00
Andrew Nicols
a1d51ad8c6 MDL-62560 tool_dataprivacy: Add status logging 2018-10-22 12:50:16 +02:00
Andrew Nicols
efbb82ac31 MDL-62560 tool_dataprivacy: Add unit test for filtered userlist 2018-10-22 12:50:15 +02:00
Michael Hawkins
46bb823e04 MDL-63659 tool_monitor: Add support for removal of context users
This issue is a part of the MDL-62560 Epic.
2018-10-22 12:50:10 +02:00
Michael Hawkins
dcdd4f1053 MDL-63497 tool_dataprivacy: Add support for removal of context users
This issue is a part of the MDL-62560 Epic.
2018-10-22 12:48:32 +02:00
David Mudrák
aa7e539c6f MDL-62309 tool_policy: Add Behat scenarios for the optional policies 2018-10-22 08:49:36 +02:00
David Mudrák
222c378870 MDL-62309 tool_policy: Amend behaviour of handler's accept() method
When accepting the policies via the sitepolicy handler, only compulsory
policies are to be marked as accepted. Optional policies will be left as
pending. Users must express their consent explicitly for them.

As a side product of the change, unit tests are added for the whole
handler class.
2018-10-22 08:49:36 +02:00
David Mudrák
ad5e2135c5 MDL-62309 tool_policy: Improve permission evaluation methods
Please refer to the unit tests for the specification of the expected
behaviour.
2018-10-22 08:49:36 +02:00
David Mudrák
4a742e4f94 MDL-62309 tool_policy: Update user acceptances reports
This adds support for optional policies to the user acceptance reports.
Distinguished are "Pending" acceptances (we did not hear yet) from
"Declined" (user did not agree). The status workflow updated to support
new transitions: pending -> declined and declined -> accepted.
2018-10-22 08:49:36 +02:00
David Mudrák
56390aa246 MDL-62309 tool_policy: New icons for user acceptances report
There was an accessibility issue with the previous icons that we used
the same "checked" shape just in different colours for different
meanings. New icons added for the new statuses:

* partial - a warning icon for the overall status column that the user
  has only some policies accepted, not all.
* pending - that we did not hear yet from the user - whcih is different
  from a declined policy.
2018-10-22 08:49:36 +02:00
David Mudrák
5348b1eef5 MDL-62309 tool_policy: Optional policies can be declined by the user
For optional policies, we provide a radio selector to let the user
choose the acceptance status on the consent page. For policies displayed
on their own page, we display a link to decline the policy.

The way how we pass the list of policy version ids to index.php has
changed so that we can now not only pass the list of ids, but also the
actual acceptance status (accepted / declined).
2018-10-22 08:49:36 +02:00
David Mudrák
faf4222edc MDL-62309 tool_policy: Add api::get_agreement_optional() method
This method allows to quickly check if the given policy version is
marked as optional or compulsory. This will be needed in other places
such as permissions check.
2018-10-22 08:49:36 +02:00
David Mudrák
1617fde9a8 MDL-62309 tool_policy: New API method to decline a policy
Policy can be declined. Optional policies do not need to be accepted to
use the site. But we still want to hear explicitly from the user.
2018-10-22 08:49:36 +02:00
David Mudrák
f98cd91a13 MDL-62309 tool_policy: Improve api::is_user_version_accepted() return
The method now returns three-state logic. A bool value true/false is
returned if the user has accepted/rejected the policy, respectively. A
null value is returned if the user did not express their agreement in
either way yet.

This allows to distinguish between "rejected the policy" and "did not
say anything about it yet" cases.
2018-10-22 08:49:36 +02:00
David Mudrák
9011d394ab MDL-62309 tool_policy: Add new field to hold the optional policy flag
The patch adds a new column to the database table to hold the
information if giving agreement to the policy is compulsory or optional.
The flag can be defined via the policy editing form and is displayed at
the policies management screen.

The last modified time merged with the version column at the policies
management screen to save a bit of horizontal space - needed as we
display more information now at the first column.
2018-10-22 08:49:36 +02:00
Matt Porritt
d5adb60fa3 MDL-62777 Administration: CLI upgrade new setting notification
During a CLI upgrade when there are new settings in core or in
a plugin, the settings are set to the defined defaults
automatically. There is no ouput shown on the CLI about which
new settings have been introduced or what default values the
setting are set to.

This patch outputs the name of the new setting and what the
default value being is set is to the CLI during an upgrade.
Objects and arrays are expanded into a human readable format.
This plugin also makes the function that sets the defaults to
be more robust so it isno longer required to be called multiple
times to ensure all settings are set.
2018-10-22 14:28:06 +11:00
Marina Glancy
97372ec17d MDL-63648 tool_xmldb: missing capability check 2018-10-19 11:36:40 +02:00
Eloy Lafuente (stronk7)
1845a5bbaa Merge branch 'MDL-63648-master' of git://github.com/marinaglancy/moodle 2018-10-18 23:54:06 +02:00
Eloy Lafuente (stronk7)
d6d5ea5d04 Merge branch 'MDL-62920-master' of https://github.com/aanabit/moodle 2018-10-18 23:47:37 +02:00
Andrew Nicols
bf347c4d2b MDL-63496 tool_dataprivacy: Add configuration for per-role retention
This issue is a part of the MDL-62560 Epic.
2018-10-17 13:12:18 +08:00
Andrew Nicols
b107016c88 MDL-63496 tool_dataprivacy: Respect expiry with protected flag
This issue is a part of the MDL-62560 Epic.
2018-10-17 13:12:18 +08:00
Andrew Nicols
8c634d6d4f MDL-63496 tool_dataprivacy: Support for per-role retention
This issue is a part of the MDL-62560 Epic.
2018-10-17 13:12:18 +08:00
Andrew Nicols
5266994547 Merge branch 'MDL-63421' of git://github.com/stronk7/moodle 2018-10-16 08:49:34 +08:00
Marina Glancy
ced982cf15 MDL-63648 tool_xmldb: drag and drop sorting 2018-10-13 14:03:46 +02:00
Amaia Anabitarte
5e4aaa886c MDL-62920 user: Uploading deleted user and adding to a cohort 2018-10-11 16:27:07 +02:00
Eloy Lafuente (stronk7)
609c73be26 Merge branch 'MDL-29895' of https://github.com/enovation/moodle 2018-10-10 00:29:16 +02:00
Eloy Lafuente (stronk7)
25fe592cf0 Merge branch 'MDL-62395-master' of git://github.com/junpataleta/moodle 2018-10-09 23:06:28 +02:00
Eloy Lafuente (stronk7)
bf0072e6c3 Merge branch 'MDL-63401-master' of git://github.com/andrewnicols/moodle 2018-10-09 11:35:29 +02:00
David Monllao
bbb2141084 Merge branch 'MDL-60710-master' of git://github.com/abias/moodle 2018-10-09 09:00:42 +02:00
Andrew Nicols
751b5e8b92 MDL-63401 tool_dataprivacy: Change default for require end date
We should preserve the existing behaviour.
2018-10-09 08:31:59 +08:00
Andrew Nicols
9a8944c52d MDL-63401 tool_dataprivacy: Simplify where processing 2018-10-09 08:21:38 +08:00
Andrew Nicols
7200ab20cd MDL-63401 tool_dataprivacy: Move final cap check to endpoint 2018-10-09 08:21:25 +08:00
Andrew Nicols
65f77d319e MDL-63401 tool_dataprivacy: Allow expiriration of users without end date 2018-10-08 20:49:59 +08:00
Andrew Nicols
2136ec3da3 MDL-63401 tool_dataprivacy: Rewrite expired deletion handling
This change rewrites the way in which expiry is calculated and addresses
a number of closely related issues:

Users can customise, and add blocks with data to, their dashboard.  When
a user had done so, the user could be flagged for deletion, but the
blocks in their Dashboard were subject to the default block retention
policy. In addition there is no way to override the retention policy for
user blocks.

This change modifies the structure of the expiry mechanism:
- to consider any subcontext of the user context to be a part of the user
  context during calculation. User child contexts are not the property
  of the system, and should not be treated separately.
- the way in which the context expiry mechanism worked was to select
  use a multiple different managers based solely on the context level.
  Because of the use of user blocks, this proved to be unreliable as
  blocks has been attributed purely to courses.
  This has been changed to a single manager which is aware of hierarchy
  and deletions as a whole.
- to prepare for upcoming work relating to more detailed expiry
  mechanisms, a new expiry_info class is introduced and used to
  merge the expiry of child contexts into a working in-memory view.

This changeset includes extensive unit tests.
2018-10-08 20:49:55 +08:00
Andrew Nicols
cbae8dcd57 MDL-63401 tool_dataprivacy: Move cap checks to endpoints from API 2018-10-08 20:49:17 +08:00
Eloy Lafuente (stronk7)
8a95de6bcc MDL-63421 env: Moodle 3.4.x and 3.5.x do not support PHP 7.3 2018-10-05 13:36:26 +02:00
Jun Pataleta
7216596760 MDL-62395 tool_dataprivacy: Purpose name and description in one column
* Show the purpose's name and description under one column.
2018-10-05 09:20:02 +08:00
David Monllao
1ef89ad49c Merge branch 'mdl63334-master' of https://github.com/tlock/moodle 2018-10-03 17:19:18 +02:00