diff --git a/lang/en/form.php b/lang/en/form.php index debb1143c50..fceac46711d 100644 --- a/lang/en/form.php +++ b/lang/en/form.php @@ -61,8 +61,7 @@ $string['othersettings'] = 'Other settings'; $string['passwordunmaskedithint'] = 'Edit password'; $string['passwordunmaskrevealhint'] = 'Reveal'; $string['passwordunmaskinstructions'] = 'Press enter to save changes'; -$string['privacy:metadata:preference:filemanager_recentviewmode'] = 'Recently selected view mode of the file picker element.'; -$string['privacy:preference:filemanager_recentviewmode'] = 'Your preferred way of displaying files in the file picker is: {$a}'; +$string['privacy:metadata'] = 'Forms subsystem itself does not store any personal data.'; $string['requiredelement'] = 'Required field'; $string['security'] = 'Security'; $string['selectallornone'] = 'Select all/none'; diff --git a/lib/form/classes/privacy/provider.php b/lib/form/classes/privacy/provider.php index b09451c0e5e..4174ea4cde3 100644 --- a/lib/form/classes/privacy/provider.php +++ b/lib/form/classes/privacy/provider.php @@ -25,9 +25,6 @@ namespace core_form\privacy; -use core_privacy\local\metadata\collection; -use core_privacy\local\request\writer; - defined('MOODLE_INTERNAL') || die(); /** @@ -37,52 +34,14 @@ defined('MOODLE_INTERNAL') || die(); * @copyright 2018 David Mudrák * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -class provider implements - // The forms subsystem does not store any data itself, it has no database tables. - \core_privacy\local\metadata\provider, - - // The forms subsystem has user preferences. - \core_privacy\local\request\user_preference_provider { +class provider implements \core_privacy\local\metadata\null_provider { /** - * Returns meta data about this system. + * Get the language string identifier to explain that the subsystem stores no data. * - * @param collection $collection The initialised collection to add items to. - * @return collection A listing of user data stored through this system. + * @return string */ - public static function get_metadata(collection $collection) { - - $collection->add_user_preference('filemanager_recentviewmode', 'privacy:metadata:preference:filemanager_recentviewmode'); - - return $collection; - } - - /** - * Export all user preferences for the subsystem. - * - * @param int $userid The ID of the user whose data is to be exported. - */ - public static function export_user_preferences($userid) { - - $preference = get_user_preferences('filemanager_recentviewmode'); - - if ($preference !== null) { - switch ($preference) { - case 1: - $value = get_string('displayasicons', 'core_repository'); - break; - case 2: - $value = get_string('displayastree', 'core_repository'); - break; - case 3: - $value = get_string('displaydetails', 'core_repository'); - break; - default: - $value = $preference; - } - - $desc = get_string('privacy:preference:filemanager_recentviewmode', 'core_form', $value); - writer::export_user_preference('core_form', 'filemanager_recentviewmode', $preference, $desc); - } + public static function get_reason() { + return 'privacy:metadata'; } } diff --git a/lib/form/tests/privacy_provider_test.php b/lib/form/tests/privacy_provider_test.php deleted file mode 100644 index e724903b403..00000000000 --- a/lib/form/tests/privacy_provider_test.php +++ /dev/null @@ -1,100 +0,0 @@ -. - -/** - * Provides the {@link core_form_privacy_provider_testcase} class. - * - * @package core_form - * @category test - * @copyright 2018 David Mudrák - * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later - */ - -use core_privacy\local\request\writer; - -defined('MOODLE_INTERNAL') || die(); - -/** - * Unit tests for the privacy API implementation. - * - * @copyright 2018 David Mudrák - * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later - */ -class core_form_privacy_provider_testcase extends \core_privacy\tests\provider_testcase { - - /** - * When no preference exists, there should be no export. - */ - public function test_no_preference() { - global $USER; - $this->resetAfterTest(); - $this->setAdminUser(); - - \core_form\privacy\provider::export_user_preferences($USER->id); - $this->assertFalse(writer::with_context(\context_system::instance())->has_any_data()); - } - - /** - * Test that the recently selected filepicker view mode is exported. - * - * @dataProvider data_filemanager_recentviewmode - * @param string $val Value of the preference filemanager_recentviewmode - * @param string $desc Text describing the preference - */ - public function test_filemanager_recentviewmode($val, $desc) { - global $USER; - $this->resetAfterTest(); - $this->setAdminUser(); - - set_user_preference('filemanager_recentviewmode', $val); - - core_form\privacy\provider::export_user_preferences($USER->id); - $this->assertTrue(writer::with_context(\context_system::instance())->has_any_data()); - - $prefs = writer::with_context(\context_system::instance())->get_user_preferences('core_form'); - $this->assertNotEmpty($prefs->filemanager_recentviewmode); - $this->assertNotEmpty($prefs->filemanager_recentviewmode->value); - $this->assertNotEmpty($prefs->filemanager_recentviewmode->description); - $this->assertEquals($val, $prefs->filemanager_recentviewmode->value); - $this->assertContains($desc, $prefs->filemanager_recentviewmode->description); - } - - /** - * Provides data for the {@link self::test_filemanager_recentviewmode()} method. - * - * @return array - */ - public function data_filemanager_recentviewmode() { - return [ - 'icons' => [ - 'val' => '1', - 'desc' => get_string('displayasicons', 'core_repository'), - ], - 'tree' => [ - 'val' => '2', - 'desc' => get_string('displayastree', 'core_repository'), - ], - 'details' => [ - 'val' => '3', - 'desc' => get_string('displaydetails', 'core_repository'), - ], - 'unknown' => [ - 'val' => 'unexpectedvalue_foo_bar', - 'desc' => 'unexpectedvalue_foo_bar', - ], - ]; - } -}