diff --git a/grade/grading/classes/privacy/gradingform_legacy_polyfill.php b/grade/grading/classes/privacy/gradingform_legacy_polyfill.php index 59738572c20..b6f24a3db12 100644 --- a/grade/grading/classes/privacy/gradingform_legacy_polyfill.php +++ b/grade/grading/classes/privacy/gradingform_legacy_polyfill.php @@ -53,48 +53,4 @@ trait gradingform_legacy_polyfill { public static function delete_gradingform_for_instances(array $instanceids) { static::_delete_gradingform_for_instances($instanceids); } - - /** - * This method is used to export any user data this sub-plugin has using the object to get the context and userid. - * - * @deprecated Since Moodle 3.6 MDL-62535 Please use the methods in the gradingform_provider_v2 interface. - * @todo MDL-63167 remove this method. - * - * @param context $context Context owner of the data. - * @param stdClass $definition Grading definition entry to export. - * @param int $userid The user whose information is to be exported. - * - * @return stdClass The data to export. - */ - public static function get_gradingform_export_data(\context $context, $definition, int $userid) { - debugging('This method is deprecated. Please use the gradingform_provider_v2 interface', DEBUG_DEVELOPER); - return static::_get_gradingform_export_data($context, $definition, $userid); - } - - /** - * Any call to this method should delete all user data for the context defined. - * - * @deprecated Since Moodle 3.6 MDL-62535 Please use the methods in the gradingform_provider_v2 interface. - * @todo MDL-63167 remove this method. - * - * @param context $context Context owner of the data. - */ - public static function delete_gradingform_for_context(\context $context) { - debugging('This method is deprecated. Please use the gradingform_provider_v2 interface', DEBUG_DEVELOPER); - static::_delete_gradingform_for_context($context); - } - - /** - * A call to this method should delete user data (where practicle) from the userid and context. - * - * @deprecated Since Moodle 3.6 MDL-62535 Please use the methods in the gradingform_provider_v2 interface. - * @todo MDL-63167 remove this method. - * - * @param int $userid The user whose information is to be deleted. - * @param context $context Context owner of the data. - */ - public static function delete_gradingform_for_userid(int $userid, \context $context) { - debugging('This method is deprecated. Please use the gradingform_provider_v2 interface', DEBUG_DEVELOPER); - static::_delete_gradingform_for_userid($userid, $context); - } } diff --git a/grade/grading/classes/privacy/gradingform_provider.php b/grade/grading/classes/privacy/gradingform_provider.php deleted file mode 100644 index 16029569c30..00000000000 --- a/grade/grading/classes/privacy/gradingform_provider.php +++ /dev/null @@ -1,74 +0,0 @@ -. - -/** - * This file contains the grading method interface. - * - * Grading method plugins should implement this if they store personal information. - * - * @deprecated since Moodle 3.6 MDL-62535 Please use the gradingform_provider_v2 interface - * @todo MDL-63167 Remove this file. - * - * @package core_grading - * @copyright 2018 Sara Arjona - * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later - */ - -namespace core_grading\privacy; - -defined('MOODLE_INTERNAL') || die(); - -use core_privacy\local\request\approved_contextlist; - -interface gradingform_provider extends - \core_privacy\local\request\plugin\subsystem_provider, - \core_privacy\local\deprecated { - - /** - * This method is used to export any user data this sub-plugin has using the object to get the context and userid. - * - * @deprecated since Moodle 3.6 MDL-62535 Please use the methods in the gradingform_provider_v2 interface - * @todo MDL-63167 Remove this file. - * - * @param \context $context Context owner of the data. - * @param \stdClass $definition Grading definition entry to export. - * @param int $userid The user whose information is to be exported. - * - * @return \stdClass The data to export. - */ - public static function get_gradingform_export_data(\context $context, $definition, int $userid); - - /** - * Any call to this method should delete all user data for the context defined. - * - * @deprecated since Moodle 3.6 MDL-62535 Please use the methods in the gradingform_provider_v2 interface - * @todo MDL-63167 Remove this file. - * - * @param \context $context Context owner of the data. - */ - public static function delete_gradingform_for_context(\context $context); - - /** - * A call to this method should delete user data (where practicle) from the userid and context. - * - * @deprecated since Moodle 3.6 MDL-62535 Please use the methods in the gradingform_provider_v2 interface - * @todo MDL-63167 Remove this file. - * - * @param int $userid The user to delete. - * @param \context $context the context to refine the deletion. - */ - public static function delete_gradingform_for_userid(int $userid, \context $context); -} diff --git a/grade/grading/classes/privacy/provider.php b/grade/grading/classes/privacy/provider.php index 54eb9ede458..646c050af9b 100644 --- a/grade/grading/classes/privacy/provider.php +++ b/grade/grading/classes/privacy/provider.php @@ -304,19 +304,6 @@ class provider implements $tmpdata['timecopied'] = transform::datetime($definition->timecopied); } - // MDL-63167 - This section is to be removed with the final deprecation of the gradingform_provider interface. - // Export gradingform information (if needed). - $instancedata = manager::component_class_callback( - "gradingform_{$definition->method}", - gradingform_provider::class, - 'get_gradingform_export_data', - [$context, $definition, $userid] - ); - if (null !== $instancedata) { - $tmpdata = array_merge($tmpdata, $instancedata); - } - // End of section to be removed with deprecation. - $defdata[] = (object) $tmpdata; // Export grading_instances information. @@ -378,14 +365,7 @@ class provider implements * @param \context $context the context to delete in. */ public static function delete_data_for_all_users_in_context(\context $context) { - // MDL-63167 - This section is to be removed with the final deprecation of the gradingform_provider interface. - manager::plugintype_class_callback( - 'gradingform', - gradingform_provider::class, - 'delete_gradingform_for_context', - [$context] - ); - // End of section to be removed for final deprecation. + // The only information left to be deleted here is the grading definitions. Currently we are not deleting these. } /** @@ -395,14 +375,7 @@ class provider implements * @param approved_contextlist $contextlist a list of contexts approved for deletion. */ public static function delete_data_for_user(approved_contextlist $contextlist) { - // MDL-63167 - This section is to be removed with the final deprecation of the gradingform_provider interface. - manager::plugintype_class_callback( - 'gradingform', - gradingform_provider::class, - 'delete_gradingform_for_userid', - [$contextlist] - ); - // End of section to be removed for final deprecation. + // The only information left to be deleted here is the grading definitions. Currently we are not deleting these. } /** diff --git a/grade/grading/form/upgrade.txt b/grade/grading/form/upgrade.txt index 0bca3144f0a..7a8be2d09a3 100644 --- a/grade/grading/form/upgrade.txt +++ b/grade/grading/form/upgrade.txt @@ -1,6 +1,14 @@ This files describes API changes in /grade/grading/form/* - Advanced grading methods information provided here is intended especially for developers. +=== 4.0 === + +* Removed gradingform_provider. +* Removed the following deprecated functions: + get_gradingform_export_data + delete_gradingform_for_context + delete_gradingform_for_userid + === 3.6 === * The privacy interface gradingform_provider has been deprecated. Please use diff --git a/grade/grading/tests/privacy_legacy_polyfill_test.php b/grade/grading/tests/privacy_legacy_polyfill_test.php index 63465c84f80..c424d57d78f 100644 --- a/grade/grading/tests/privacy_legacy_polyfill_test.php +++ b/grade/grading/tests/privacy_legacy_polyfill_test.php @@ -69,56 +69,6 @@ class gradeform_privacy_legacy_polyfill_test extends advanced_testcase { test_legacy_polyfill_gradingform_provider::$mock = $mock; test_legacy_polyfill_gradingform_provider::delete_gradingform_for_instances([3, 17]); } - - /** - * Test the __get_gradingform_export_data shim. - */ - public function test_get_gradingform_export_data() { - $userid = 476; - $context = context_system::instance(); - - $mock = $this->createMock(test_gradingform_legacy_polyfill_mock_wrapper::class); - $mock->expects($this->once()) - ->method('get_return_value') - ->with('_get_gradingform_export_data', [$context, (object)[], $userid]); - - test_legacy_polyfill_gradingform_provider::$mock = $mock; - test_legacy_polyfill_gradingform_provider::get_gradingform_export_data($context, (object)[], $userid); - $this->assertDebuggingCalled(); - } - - /** - * Test the _delete_gradingform_for_context shim. - */ - public function test_delete_gradingform_for_context() { - $context = context_system::instance(); - - $mock = $this->createMock(test_gradingform_legacy_polyfill_mock_wrapper::class); - $mock->expects($this->once()) - ->method('get_return_value') - ->with('_delete_gradingform_for_context', [$context]); - - test_legacy_polyfill_gradingform_provider::$mock = $mock; - test_legacy_polyfill_gradingform_provider::delete_gradingform_for_context($context); - $this->assertDebuggingCalled(); - } - - /** - * Test the _delete_gradingform_for_userid shim. - */ - public function test_delete_gradingform_for_user() { - $userid = 696; - $context = \context_system::instance(); - - $mock = $this->createMock(test_gradingform_legacy_polyfill_mock_wrapper::class); - $mock->expects($this->once()) - ->method('get_return_value') - ->with('_delete_gradingform_for_userid', [$userid, $context]); - - test_legacy_polyfill_gradingform_provider::$mock = $mock; - test_legacy_polyfill_gradingform_provider::delete_gradingform_for_userid($userid, $context); - $this->assertDebuggingCalled(); - } } /** @@ -129,7 +79,6 @@ class gradeform_privacy_legacy_polyfill_test extends advanced_testcase { */ class test_legacy_polyfill_gradingform_provider implements \core_privacy\local\metadata\provider, - \core_grading\privacy\gradingform_provider, \core_grading\privacy\gradingform_provider_v2 { use \core_grading\privacy\gradingform_legacy_polyfill; @@ -169,47 +118,6 @@ class test_legacy_polyfill_gradingform_provider implements protected static function _get_metadata(\core_privacy\local\metadata\collection $collection) { return $collection; } - - /** - * This method is used to export any user data this sub-plugin has using the object to get the context and userid. - * - * @deprecated Since Moodle 3.6 MDL-62535 Please use the methods in the gradingform_provider_v2 interface. - * @todo MDL-63167 remove this method. - * - * @param context $context Context owner of the data. - * @param stdClass $definition Grading definition entry to export. - * @param int $userid The user whose information is to be exported. - * - * @return stdClass The data to export. - */ - protected static function _get_gradingform_export_data(\context $context, $definition, int $userid) { - static::$mock->get_return_value(__FUNCTION__, func_get_args()); - } - - /** - * Any call to this method should delete all user data for the context defined. - * - * @deprecated Since Moodle 3.6 MDL-62535 Please use the methods in the gradingform_provider_v2 interface. - * @todo MDL-63167 remove this method. - * - * @param context $context Context owner of the data. - */ - protected static function _delete_gradingform_for_context(\context $context) { - static::$mock->get_return_value(__FUNCTION__, func_get_args()); - } - - /** - * A call to this method should delete user data (where practicle) from the userid and context. - * - * @deprecated Since Moodle 3.6 MDL-62535 Please use the methods in the gradingform_provider_v2 interface. - * @todo MDL-63167 remove this method. - * - * @param int $userid The user whose information is to be deleted. - * @param context $context Context owner of the data. - */ - protected static function _delete_gradingform_for_userid(int $userid, \context $context) { - static::$mock->get_return_value(__FUNCTION__, func_get_args()); - } } /**