Merge branch 'MDL-63167-master' of git://github.com/peterRd/moodle
authorJake Dallimore <jake@moodle.com>
Wed, 1 Jul 2020 09:06:01 +0000 (17:06 +0800)
committerJake Dallimore <jake@moodle.com>
Wed, 1 Jul 2020 09:06:01 +0000 (17:06 +0800)
grade/grading/classes/privacy/gradingform_legacy_polyfill.php
grade/grading/classes/privacy/gradingform_provider.php [deleted file]
grade/grading/classes/privacy/provider.php
grade/grading/form/upgrade.txt
grade/grading/tests/privacy_legacy_polyfill_test.php

index 5973857..b6f24a3 100644 (file)
@@ -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 (file)
index 1602956..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-<?php
-// This file is part of Moodle - http://moodle.org/
-//
-// Moodle is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// Moodle is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
-
-/**
- * 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 <sara@moodle.com>
- * @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);
-}
index 54eb9ed..646c050 100644 (file)
@@ -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.
     }
 
     /**
index 0bca314..7a8be2d 100644 (file)
@@ -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
index 63465c8..c424d57 100644 (file)
@@ -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());
-    }
 }
 
 /**