Commit Graph

30 Commits

Author SHA1 Message Date
Jun Pataleta 12c1e8b2ff MDL-66752 tool_dataprivacy: Add automatic data request approval feature 2020-01-06 11:40:31 +08:00
Jun Pataleta a6b236326b MDL-67510 tool_dataprivacy: Fix the reply-to name of the privacy officer 2020-01-06 11:36:09 +08:00
Paul Holden d7367ecafa MDL-64695 tool_dataprivacy: filter site fullname in outgoing messages. 2019-12-12 18:20:13 +00:00
Paul Holden 3903a26896 MDL-62915 tool_dataprivacy: don't let primary admin delete themselves. 2019-09-15 21:36:07 +01:00
Andrew Nicols 26ce2c0a81 MDL-64030 tool_dataprivacy: Process requests when system purpose not set 2018-11-23 07:54:22 +08:00
Eloy Lafuente (stronk7) ba999160b4 Merge branch 'MDL-62564-master-fix' of git://github.com/andrewnicols/moodle 2018-11-09 10:59:04 +01:00
Andrew Nicols b26c5e031b MDL-62564 tool_dataprivacy: Do not delete deleted user
This also ensures that we do not call delete_user on an already deleted
user.
2018-11-09 17:34:47 +08:00
Jun Pataleta 012fa6abc3 Merge branch 'MDL-63867-master' of git://github.com/mickhawkins/moodle 2018-11-09 15:31:28 +08:00
Michael Hawkins 95a3f78058 MDL-63867 tool_dataprivacy: Add site purpose checks to tasks
If a site purpose is not defined, requests cannot be processed.
2018-11-09 15:20:12 +08:00
Andrew Nicols b838d85cbc MDL-63897 dataprivacy: Kill the preprocess stage 2018-11-09 11:08:07 +08:00
Andrew Nicols b627565e9b Merge branch 'MDL-63919-master' of git://github.com/mihailges/moodle 2018-11-09 10:51:48 +08:00
Mihail Geshoski 77c21518f2 MDL-63919 privacy: Disable notifications for auto created data requests 2018-11-08 14:08:43 +08:00
Mihail Geshoski 673d2c58fb MDL-62564 privacy: Create request for deleted users when setting enabled 2018-11-08 09:29:38 +08:00
Mihail Geshoski c13c4569a9 MDL-62563 privacy: Create delete data request for existing deleted users 2018-11-05 16:20:37 +08:00
Andrew Nicols a1d51ad8c6 MDL-62560 tool_dataprivacy: Add status logging 2018-10-22 12:50:16 +02: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
Michael Hawkins 5f9a31ee79 MDL-62660 tool_dataprivacy: Add scheduled task to expire data requests 2018-08-20 15:31:20 +08:00
Michael Hawkins 693f690c18 MDL-62660 tool_dataprivacy: Add ability to expire data requests
Also replaced Completed status with situation specific statuses.
Also improved UX on request pages in line with expiries and the aadditional statuses.
2018-08-20 15:31:20 +08:00
sam marshall 635c7b29a0 MDL-61652 tool_dataprivacy: Add capabilities to control data downloads 2018-07-24 14:23:16 +08:00
adamtppaw c6363e8c23 MDL-62270 Privacy: Cron task fails when admin directory renamed 2018-06-03 22:12:43 +02:00
Andrew Nicols 8da25ca04c MDL-62134 tool_dataprivacy: Remove reference to old manager 2018-05-16 12:27:00 +08:00
Andrew Nicols 8760b7335b MDL-62134 tool_dataprivacy: Add a manager_observer 2018-05-16 11:52:46 +08:00
Marina Glancy 3f18d2af9a MDL-62134 tool_dataprivacy: privacy manager wrapper
If exception occurs in one plugin implementation do not fail the whole job but
instead send a message to DPOs with the exception details
2018-05-16 09:02:01 +08:00
Jun Pataleta 7bdb9d877d MDL-62409 tool_dataprivacy: Properly validate data request creation
Creating data requests
 * Add capability check when creating data requests for another user.
Ad-hoc task that processes pending data requests
 * Check if the requesting user has the capability to create the data
   request for another user. Reject otherwise.
Ad-hoc task that processes approved data requests
 * Validate that the requester can receive the notification about the
   data request processing results.
 * Do not send the confirmation link to DPOs/admins
2018-05-13 16:03:21 +02:00
Andrew Nicols ddb1a13573 MDL-62397 tool_dataprivacy: Check for inactive status properly 2018-05-11 11:20:19 +08:00
David Monllao bb4030ff27 MDL-61899 tool_dataprivacy: Fix cibot complains 2018-04-18 18:22:58 +02:00
David Monllao e60058ff98 MDL-61899 tool_dataprivacy: Delete user after deletion request or expired context
Includes MDL-61955
2018-04-18 18:18:47 +02:00
David Monllao e95f0def95 MDL-61899 tool_dataprivacy: Fix reference to unexisting method
All credit goes to Marcel Behrmann
2018-04-18 18:15:31 +02:00
Jun Pataleta cb775057fd MDL-61899 tool_dataprivacy: Additional fixes to tool
Fixes applied from the following issues:
1. MDL-61618
2. MDL-61901
2018-04-18 18:15:09 +02:00
David Monllao 5efc1f9e64 MDL-61899 tool_dataprivacy: Subject access requests tool
This commit is composed of different issues, most of them under
MDL-61306:
- MDL-61888, MDL-61785, MDL-61830, MDL-61874, MDL-59720,
  MDL-61486, MDL-61697, MDL-61798, MDL-61685, MDL-61682,
  MDL-61684, MDL-61618, MDL-61681, MDL-61680, MDL-61487,
  MDL-61499, MDL-61500, MDL-61362 and MDL-59718

Contributions to this patch by:
- Jun Pataleta
- David Monllao
- Andrew Nicols
- Adrian B. Greeve
- Jake Dallimore
- Sara Arjona
2018-04-18 18:14:23 +02:00