From 5c1b473931c674070fa5970e6508a1fc1931da59 Mon Sep 17 00:00:00 2001 From: Marina Glancy Date: Wed, 16 May 2018 10:44:47 +0800 Subject: [PATCH] MDL-62147 core_grades: Declare metadata of scales and import tables --- grade/classes/privacy/provider.php | 36 +++++++++++++++++++++++++++++- lang/en/grades.php | 25 +++++++++++++++++++++ 2 files changed, 60 insertions(+), 1 deletion(-) diff --git a/grade/classes/privacy/provider.php b/grade/classes/privacy/provider.php index 282253a8f5ae8..a9c033f6b2827 100644 --- a/grade/classes/privacy/provider.php +++ b/grade/classes/privacy/provider.php @@ -97,9 +97,43 @@ public static function get_metadata(collection $collection) : collection { 'loggeduser' => 'privacy:metadata:history:loggeduser', ]), 'privacy:metadata:gradeshistory'); - // The table grade_import_values is not reported because its data is temporary and only + $collection->add_database_table('scale_history', [ + 'action' => 'privacy:metadata:scale_history:action', + 'timemodified' => 'privacy:metadata:scale_history:timemodified', + 'loggeduser' => 'privacy:metadata:scale_history:loggeduser', + 'userid' => 'privacy:metadata:scale_history:userid', + 'name' => 'privacy:metadata:scale_history:name', + 'scale' => 'privacy:metadata:scale_history:scale', + 'description' => 'privacy:metadata:scale_history:description' + ], 'privacy:metadata:scale_history'); + + // The following tables are reported but not exported/deleted because their data is temporary and only // used during an import. It's content is deleted after a successful, or failed, import. + $collection->add_database_table('grade_import_newitem', [ + 'itemname' => 'privacy:metadata:grade_import_newitem:itemname', + 'importcode' => 'privacy:metadata:grade_import_newitem:importcode', + 'importer' => 'privacy:metadata:grade_import_newitem:importer' + ], 'privacy:metadata:grade_import_newitem'); + + $collection->add_database_table('grade_import_values', [ + 'userid' => 'privacy:metadata:grade_import_values:userid', + 'finalgrade' => 'privacy:metadata:grade_import_values:finalgrade', + 'feedback' => 'privacy:metadata:grade_import_values:feedback', + 'importcode' => 'privacy:metadata:grade_import_values:importcode', + 'importer' => 'privacy:metadata:grade_import_values:importer', + 'importonlyfeedback' => 'privacy:metadata:grade_import_values:importonlyfeedback' + ], 'privacy:metadata:grade_import_values'); + + // Table 'scale' stores userid of the user who created a scale. This is not considered to be user data. + $collection->add_database_table('scale', [ + 'userid' => 'privacy:metadata:scale:userid', + 'name' => 'privacy:metadata:scale:name', + 'scale' => 'privacy:metadata:scale:scale', + 'timemodified' => 'privacy:metadata:scale:timemodified', + 'description' => 'privacy:metadata:scale:description' + ], 'privacy:metadata:scale'); + return $collection; } diff --git a/lang/en/grades.php b/lang/en/grades.php index 1d31a0ea16897..feca6be41c4f0 100644 --- a/lang/en/grades.php +++ b/lang/en/grades.php @@ -324,6 +324,31 @@ $string['graderreport'] = 'Grader report'; $string['grades'] = 'Grades'; $string['gradesforuser'] = 'Grades for {$a->user}'; +$string['privacy:metadata:grade_import_newitem'] = 'Temporary table for storing new grade_item names from grade import'; +$string['privacy:metadata:grade_import_newitem:importcode'] = 'A unique batch code for identifying one batch of imports'; +$string['privacy:metadata:grade_import_newitem:importer'] = 'User importing the data'; +$string['privacy:metadata:grade_import_newitem:itemname'] = 'New grade item name'; +$string['privacy:metadata:grade_import_values'] = 'Temporary table for importing grades'; +$string['privacy:metadata:grade_import_values:feedback'] = 'Grade feedback'; +$string['privacy:metadata:grade_import_values:finalgrade'] = 'Raw grade value'; +$string['privacy:metadata:grade_import_values:importcode'] = 'A unique batch code for identifying one batch of imports'; +$string['privacy:metadata:grade_import_values:importer'] = 'User importing the data'; +$string['privacy:metadata:grade_import_values:importonlyfeedback'] = 'Flag if only feedback was imported'; +$string['privacy:metadata:grade_import_values:userid'] = 'User whose grade was imported'; +$string['privacy:metadata:scale'] = 'Grading scales, store ID of the user who created the scale. Not considered personal information'; +$string['privacy:metadata:scale:description'] = 'Description of the scale'; +$string['privacy:metadata:scale:name'] = 'Name of the scale'; +$string['privacy:metadata:scale:scale'] = 'Values in the scale'; +$string['privacy:metadata:scale:timemodified'] = 'Time when the scale was last modified'; +$string['privacy:metadata:scale:userid'] = 'ID of the user who created the scale'; +$string['privacy:metadata:scale_history'] = 'History table'; +$string['privacy:metadata:scale_history:action'] = 'created/modified/deleted constants'; +$string['privacy:metadata:scale_history:description'] = 'description'; +$string['privacy:metadata:scale_history:loggeduser'] = 'the userid of the person who last modified this outcome'; +$string['privacy:metadata:scale_history:name'] = 'name'; +$string['privacy:metadata:scale_history:scale'] = 'scale'; +$string['privacy:metadata:scale_history:timemodified'] = 'The last time this grade_item was modified'; +$string['privacy:metadata:scale_history:userid'] = 'userid'; $string['singleview'] = 'Single view for {$a}'; $string['gradesonly'] = 'Change to grades only'; $string['gradesmoduledeletionpendingwarning'] = 'Warning: Activity deletion in progress! Some grades are about to be removed.';