From 1a305933c72b268b1a6f0a1a2f2ff346a971bfc4 Mon Sep 17 00:00:00 2001 From: Juan Leyva Date: Thu, 2 Feb 2017 12:06:11 +0100 Subject: [PATCH] MDL-57814 mod_feedback: Create exporter and required API changes --- mod/feedback/classes/completion.php | 2 +- .../external/feedback_completedtmp_exporter.php | 78 ++++++++++++++++++++++ mod/feedback/upgrade.txt | 4 ++ 3 files changed, 83 insertions(+), 1 deletion(-) create mode 100644 mod/feedback/classes/external/feedback_completedtmp_exporter.php diff --git a/mod/feedback/classes/completion.php b/mod/feedback/classes/completion.php index 31947a9870b..bc6ea4f4882 100644 --- a/mod/feedback/classes/completion.php +++ b/mod/feedback/classes/completion.php @@ -101,7 +101,7 @@ class mod_feedback_completion extends mod_feedback_structure { * * @return stdClass|false record from feedback_completedtmp or false if not found */ - protected function get_current_completed_tmp() { + public function get_current_completed_tmp() { global $USER, $DB; if ($this->completedtmp === null) { $params = array('feedback' => $this->get_feedback()->id); diff --git a/mod/feedback/classes/external/feedback_completedtmp_exporter.php b/mod/feedback/classes/external/feedback_completedtmp_exporter.php new file mode 100644 index 00000000000..9dc0640971a --- /dev/null +++ b/mod/feedback/classes/external/feedback_completedtmp_exporter.php @@ -0,0 +1,78 @@ +. + +/** + * Class for exporting a feedback temporary completion record. + * + * @package mod_feedback + * @copyright 2017 Juan Leyva + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ +namespace mod_feedback\external; +defined('MOODLE_INTERNAL') || die(); + +use core\external\exporter; + +/** + * Class for exporting a feedback temporary completion record. + * + * @copyright 2017 Juan Leyva + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ +class feedback_completedtmp_exporter extends exporter { + + /** + * Return the list of properties. + * + * @return array list of properties + */ + protected static function define_properties() { + return array( + 'id' => array( + 'type' => PARAM_INT, + 'description' => 'The record id.', + ), + 'feedback' => array( + 'type' => PARAM_INT, + 'description' => 'The feedback instance id this records belongs to.', + ), + 'userid' => array( + 'type' => PARAM_INT, + 'description' => 'The user who completed the feedback (0 for anonymous).', + ), + 'guestid' => array( + 'type' => PARAM_RAW, + 'description' => 'For guests, this is the session key.', + ), + 'timemodified' => array( + 'type' => PARAM_INT, + 'description' => 'The last time the feedback was completed.', + ), + 'random_response' => array( + 'type' => PARAM_INT, + 'description' => 'The response number (used when shuffling anonymous responses).', + ), + 'anonymous_response' => array( + 'type' => PARAM_INT, + 'description' => 'Whether is an anonymous response.', + ), + 'courseid' => array( + 'type' => PARAM_INT, + 'description' => 'The course id where the feedback was completed.', + ), + ); + } +} diff --git a/mod/feedback/upgrade.txt b/mod/feedback/upgrade.txt index c8522d1aaee..5d4f07aa235 100644 --- a/mod/feedback/upgrade.txt +++ b/mod/feedback/upgrade.txt @@ -1,3 +1,7 @@ +=== 3.3 === + +* Method get_current_completed_tmp in mod_feedback_completion class is now public. + === 3.1 === * feedback_get_courses_from_sitecourse_map() now returns course id as 'id' attribute -- 2.11.4.GIT