MDL-63167 grade: Deprecated gradingform_provider

This commit is contained in:
Peter Dias 2020-06-17 12:56:23 +08:00
parent aa6830ef99
commit c771b25c0f
4 changed files with 10 additions and 147 deletions

View file

@ -53,48 +53,4 @@ trait gradingform_legacy_polyfill {
public static function delete_gradingform_for_instances(array $instanceids) { public static function delete_gradingform_for_instances(array $instanceids) {
static::_delete_gradingform_for_instances($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);
}
} }

View file

@ -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);
}

View file

@ -304,19 +304,6 @@ class provider implements
$tmpdata['timecopied'] = transform::datetime($definition->timecopied); $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; $defdata[] = (object) $tmpdata;
// Export grading_instances information. // Export grading_instances information.
@ -378,14 +365,7 @@ class provider implements
* @param \context $context the context to delete in. * @param \context $context the context to delete in.
*/ */
public static function delete_data_for_all_users_in_context(\context $context) { 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. // The only information left to be deleted here is the grading definitions. Currently we are not deleting these.
manager::plugintype_class_callback(
'gradingform',
gradingform_provider::class,
'delete_gradingform_for_context',
[$context]
);
// End of section to be removed for final deprecation.
} }
/** /**
@ -395,14 +375,7 @@ class provider implements
* @param approved_contextlist $contextlist a list of contexts approved for deletion. * @param approved_contextlist $contextlist a list of contexts approved for deletion.
*/ */
public static function delete_data_for_user(approved_contextlist $contextlist) { 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. // The only information left to be deleted here is the grading definitions. Currently we are not deleting these.
manager::plugintype_class_callback(
'gradingform',
gradingform_provider::class,
'delete_gradingform_for_userid',
[$contextlist]
);
// End of section to be removed for final deprecation.
} }
/** /**

View file

@ -1,6 +1,14 @@
This files describes API changes in /grade/grading/form/* - Advanced grading methods This files describes API changes in /grade/grading/form/* - Advanced grading methods
information provided here is intended especially for developers. 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 === === 3.6 ===
* The privacy interface gradingform_provider has been deprecated. Please use * The privacy interface gradingform_provider has been deprecated. Please use