89288 Commits

Author SHA1 Message Date
David Monllao
7140f67a98 MDL-61976 mod_wiki: Trim returned value to avoid EOF-related failures 2018-05-10 09:17:29 +08:00
David Monllao
337673949b Merge branch 'MDL-62056-master' of git://github.com/sarjona/moodle 2018-05-10 09:17:28 +08:00
Andrew Nicols
06ede94f07 Merge branch 'wip-MDL-62351-master' of git://github.com/marinaglancy/moodle 2018-05-10 09:17:28 +08:00
David Monllao
1b764a2fde Merge branch 'MDL-62249-master' of git://github.com/zig-moodle/moodle 2018-05-10 09:17:27 +08:00
David Monllao
99a080f12a Merge branch 'MDL-62361' of git://github.com/stronk7/moodle 2018-05-10 09:17:25 +08:00
Zig Tan
0139b8828f MDL-62366 mod_assign: Followup fix for attemptnumber in exported JSON 2018-05-10 09:16:41 +08:00
Andrew Nicols
0f125a45f4 Merge branch 'MDL-62217_master' of git://github.com/dmonllao/moodle 2018-05-10 09:16:01 +08:00
Andrew Nicols
270cefc4b0 Merge branch 'MDL-62269-master' of git://github.com/vmdef/moodle 2018-05-10 09:16:00 +08:00
David Monllao
a49a438536 Merge branch 'MDL-62364_master' of git://github.com/markn86/moodle 2018-05-10 09:15:59 +08:00
David Monllao
6fe7510ae0 Merge branch 'wip-MDL-61976-master' of git://github.com/marinaglancy/moodle 2018-05-10 09:15:59 +08:00
David Monllao
8a4b725f6d MDL-61994 mod_glossary: Fixing wrong subsystem name 2018-05-10 09:15:59 +08:00
David Monllao
aea028ff29 Merge branch 'MDL-61994-master' of git://github.com/lameze/moodle 2018-05-10 09:15:58 +08:00
David Monllao
f60b216de0 Merge branch 'MDL-61309-master' of git://github.com/andrewnicols/moodle 2018-05-10 09:15:57 +08:00
Brendan Cox
d8609cb545 MDL-62232 mod_forum: Additional tests for portfolio file export 2018-05-10 09:15:57 +08:00
Adam Olley
5b89ff626d MDL-62232 mod_forum: Limit portfolio to files belonging to the post 2018-05-10 09:15:57 +08:00
Andrew Nicols
4191032993 Merge branch 'MDL-61905-master-privacyworkshop' of git://github.com/mudrd8mz/moodle 2018-05-10 09:15:56 +08:00
Andrew Nicols
178bb8c22e Merge branch 'MDL-62029-master-2' of git://github.com/snake/moodle 2018-05-10 09:15:55 +08:00
Jun Pataleta
9f358de241 Merge branch 'MDL-62332-master' of git://github.com/bmbrands/moodle 2018-05-10 09:15:55 +08:00
Andrew Nicols
f7ca19afaa Merge branch 'MDL-62318-master' of git://github.com/rezaies/moodle 2018-05-10 09:15:54 +08:00
Andrew Nicols
820c234934 Merge branch 'MDL-62117-master' of git://github.com/rezaies/moodle 2018-05-10 09:15:54 +08:00
Andrew Nicols
5b98200ff4 Merge branch 'MDL-62051-master' of git://github.com/bmbrands/moodle 2018-05-10 09:15:46 +08:00
Marina Glancy
2d83a76ed7 MDL-62233 portfolio: check caller parent class 2018-05-10 09:13:03 +08:00
Andrew Nicols
db4754e98c MDL-61309 mod_forum: Remove unnecessary deletion check 2018-05-10 07:45:27 +08:00
Sara Arjona
6416e87f26 MDL-61951 grading: Implement privacy API 2018-05-09 22:41:04 +02:00
David Mudrák
14e0ab3536 MDL-62354 tool_policy: Reflect the strings improvements in Behat tests 2018-05-09 22:39:22 +02:00
Helen Foster
a5591614d5 MDL-62354 lang: Merge English strings from the en_fix language pack
Significant string changes:

* publishstate_help, core_notes - including GDPR guidance
* contactdataprotectionofficer_desc, tool_dataprivacy - removing mention
  of link on privacy policy page as it is not yet implemented
2018-05-09 22:39:21 +02:00
Bas Brands
5b399ba107 MDL-62077 Theme boost: position data registry edit button 2018-05-09 16:54:46 +02:00
Bas Brands
b197ab3566 MDL-62359 Theme boost: allow breaks as separators in form groups 2018-05-09 16:50:16 +02:00
Mark Nelson
0f41e8a2a1 MDL-62308 core_backup: implement privacy provider
The provider was added to 'backup/util/ui/' due to
Moodle's implementation of autoclass loading. See
fetch_subsystems() in lib/classes/component.php.
2018-05-09 22:48:07 +08:00
Marina Glancy
468c8d39c3 MDL-62351 privacy: check that subsystem/plugintype exist 2018-05-09 17:37:31 +08:00
Mark Nelson
b6b7c2636f MDL-62364 core: allow null for 'courseid' in notification_sent event
It's possible the '\core\message\message' object has a null value
for the 'courseid' which is used in \core\message\manager::send_message().
Make sure we compensate for this.
2018-05-09 17:27:00 +08:00
Marina Glancy
7cc21cb7bd MDL-61976 mod_wiki: implement privacy API 2018-05-09 17:26:52 +08:00
Victor Deniz
5d5881f0f8 MDL-62269 auth_mnet: Implement privacy API
AMOS BEGIN
 CPY [privacy:metadata:address,core_user],[privacy:metadata:mnet_external:address,auth_mnet]
 CPY [privacy:metadata:aim,core_user],[privacy:metadata:mnet_external:aim,auth_mnet]
 CPY [privacy:metadata:aim,core_user],[privacy:metadata:mnet_external:aim,auth_mnet]
 CPY [privacy:metadata:alternatename,core_user],[privacy:metadata:mnet_external:alternatename,auth_mnet]
 CPY [privacy:metadata:autosubscribe,core_user],[privacy:metadata:mnet_external:autosubscribe,auth_mnet]
 CPY [privacy:metadata:calendartype,core_user],[privacy:metadata:mnet_external:calendartype,auth_mnet]
 CPY [privacy:metadata:city,core_user],[privacy:metadata:mnet_external:city,auth_mnet]
 CPY [privacy:metadata:country,core_user],[privacy:metadata:mnet_external:country,auth_mnet]
 CPY [privacy:metadata:currentlogin,core_user],[privacy:metadata:mnet_external:currentlogin,auth_mnet]
 CPY [privacy:metadata:department,core_user],[privacy:metadata:mnet_external:department,auth_mnet]
 CPY [privacy:metadata:description,core_user],[privacy:metadata:mnet_external:description,auth_mnet]
 CPY [privacy:metadata:email,core_user],[privacy:metadata:mnet_external:email,auth_mnet]
 CPY [privacy:metadata:emailstop,core_user],[privacy:metadata:mnet_external:emailstop,auth_mnet]
 CPY [privacy:metadata:firstaccess,core_user],[privacy:metadata:mnet_external:firstaccess,auth_mnet]
 CPY [privacy:metadata:firstname,core_user],[privacy:metadata:mnet_external:firstname,auth_mnet]
 CPY [privacy:metadata:firstnamephonetic,core_user],[privacy:metadata:mnet_external:firstnamephonetic,auth_mnet]
 CPY [privacy:metadata:icq,core_user],[privacy:metadata:mnet_external:icq,auth_mnet]
 CPY [privacy:metadata:id,core_user],[privacy:metadata:mnet_external:id,auth_mnet]
 CPY [privacy:metadata:idnumber,core_user],[privacy:metadata:mnet_external:idnumber,auth_mnet]
 CPY [privacy:metadata:imagealt,core_user],[privacy:metadata:mnet_external:imagealt,auth_mnet]
 CPY [privacy:metadata:institution,core_user],[privacy:metadata:mnet_external:institution,auth_mnet]
 CPY [privacy:metadata:lang,core_user],[privacy:metadata:mnet_external:lang,auth_mnet]
 CPY [privacy:metadata:lastaccess,core_user],[privacy:metadata:mnet_external:lastaccess,auth_mnet]
 CPY [privacy:metadata:lastlogin,core_user],[privacy:metadata:mnet_external:lastlogin,auth_mnet]
 CPY [privacy:metadata:lastname,core_user],[privacy:metadata:mnet_external:lastname,auth_mnet]
 CPY [privacy:metadata:lastnamephonetic,core_user],[privacy:metadata:mnet_external:lastnamephonetic,auth_mnet]
 CPY [privacy:metadata:maildigest,core_user],[privacy:metadata:mnet_external:maildigest,auth_mnet]
 CPY [privacy:metadata:maildisplay,core_user],[privacy:metadata:mnet_external:maildisplay,auth_mnet]
 CPY [privacy:metadata:middlename,core_user],[privacy:metadata:mnet_external:middlename,auth_mnet]
 CPY [privacy:metadata:msn,core_user],[privacy:metadata:mnet_external:msn,auth_mnet]
 CPY [privacy:metadata:phone,core_user],[privacy:metadata:mnet_external:phone1,auth_mnet]
 CPY [privacy:metadata:picture,core_user],[privacy:metadata:mnet_external:picture,auth_mnet]
 CPY [privacy:metadata:policyagreed,core_user],[privacy:metadata:mnet_external:policyagreed,auth_mnet]
 CPY [privacy:metadata:skype,core_user],[privacy:metadata:mnet_external:skype,auth_mnet]
 CPY [privacy:metadata:suspended,core_user],[privacy:metadata:mnet_external:suspended,auth_mnet]
 CPY [privacy:metadata:timezone,core_user],[privacy:metadata:mnet_external:timezone,auth_mnet]
 CPY [privacy:metadata:trackforums,core_user],[privacy:metadata:mnet_external:trackforums,auth_mnet]
 CPY [privacy:metadata:trustbitmask,core_user],[privacy:metadata:mnet_external:trustbitmask,auth_mnet]
 CPY [privacy:metadata:url,core_user],[privacy:metadata:mnet_external:url,auth_mnet]
 CPY [privacy:metadata:username,core_user],[privacy:metadata:mnet_external:username,auth_mnet]
 CPY [privacy:metadata:yahoo,core_user],[privacy:metadata:mnet_external:yahoo,auth_mnet]
AMOS END
2018-05-09 10:15:20 +01:00
Barbara Ramiro
7e4bffd836 MDL-61973 editor_atto: refactoring media icons 2018-05-09 17:00:14 +08:00
David Monllao
94522f8dd0 MDL-62217 search_solr: Plugin provider fake implementation 2018-05-09 10:57:14 +02:00
David Monllao
74fc7d3120 MDL-62217 search: Privacy providers 2018-05-09 10:56:02 +02:00
David Mudrák
59a8a5c0b8 MDL-61905 workshop: Implement privacy API in grading evaluators
Standard workshop ships with only one evaluation method and that one
holds no personal data.
2018-05-09 10:01:50 +02:00
David Mudrák
4b8d462ee6 MDL-61905 workshop: Implement privacy API in assessment allocators
Assessment allocation methods normally do not store any personal data.
Their duty is to create assessment records that are then exported by the
workshop core itself.

Still, some allocators (such as the Manual allocation) can store certain
personal data such as user preferences.
2018-05-09 10:01:50 +02:00
David Mudrák
fe745a0a84 MDL-61905 workshop: Implement privacy API in grading strategies
On low level, standard grading strategies subplugins do not store
personal themselves.  They make use of the grades storage provided by
the workshop itself.  What they do contain though is the information
about how the assessment forms were defined. And they are also
responsible for correctly interpreting the values in the central grades
table.

Grading strategies fulfil the contract with the parent workshop module
by implementing the workshopform_provider interface. That gives them a
chance to export data about the assessment form to each of exported
assessment.
2018-05-09 10:01:50 +02:00
David Mudrák
84a57322c2 MDL-61905 workshop: Implement the privacy API in the workshop core
Workshop module stores personal data in its tables, via user
preference and via core_files and core_plagiarism subsystems.

When exporting the data, we export not only data created by users
themselves (such as their submissions and provided peer-assessments) but
also all relevant data that can (or must) be used to interpret created
content and evaluate the user's performance and skills.

On the other hand, when deleting data at user's request, we delete only
those data that do not affect other users' performance evaluation. The
reasoning is that one's right for privacy does not overweight someone
else's right for fair assessment. For that reason, we can't fully delete
whole provided peer-assessments, for example. Because they are used in
cross-comparison and grading evaluation of all other peers who assessed
the same submission. So instead, we replace provided texts but still
keep the original record.

Workshop defines the interface for its grading strategy subplugins to
allow them attach personal data under their control to the exported
structures.
2018-05-09 10:01:50 +02:00
Jake Dallimore
e4a37fbef1 MDL-62029 core_course: Fixes to context-aware provider implementation. 2018-05-09 15:34:41 +08:00
Sara Arjona
fd7174d03f MDL-62056 policy: Adapt code to avoid travis errors on Github 2018-05-09 08:31:32 +02:00
Andrew Nicols
3e95e09b67 MDL-61309 mod_forum: Implement privacy deletion 2018-05-09 14:04:13 +08:00
Andrew Nicols
caef6489ae MDL-61309 mod_forum: Implement the Privacy API 2018-05-09 14:04:12 +08:00
Andrew Nicols
2de389aa05 MDL-61309 core_tags: Add privacy unit test trait 2018-05-09 14:04:12 +08:00
Michael Hawkins
be5cc0ba03 MDL-61971 dataprivacy: Added warning messages where data request pages are viewed on non-HTTPS sites 2018-05-09 11:59:26 +08:00
Shamim Rezaie
5c87353833 MDL-62318 core_group: Updating cache when deleting group memberships 2018-05-09 13:29:39 +10:00
Shamim Rezaie
55c1865638 MDL-62318 core_group: Add implementation of privacy API 2018-05-09 13:29:26 +10:00
Simey Lameze
fe80a5ab66 MDL-61994 mod_glossary: add unit tests for provider 2018-05-09 10:57:42 +08:00
Simey Lameze
a92bbd867d MDL-61994 mod_glossary: implement privacy providers 2018-05-09 10:57:13 +08:00