From b1976f0379746d3c19d2a23cdc6094b3a770433f Mon Sep 17 00:00:00 2001 From: Yiannis Demetriou Date: Thu, 8 Dec 2022 11:53:36 +0200 Subject: [PATCH 1/3] assessment due date --- db/services.php | 8 +++++ externallib.php | 77 +++++++++++++++++++++++++++++++++++++++++++++++++ version.php | 2 +- 3 files changed, 86 insertions(+), 1 deletion(-) diff --git a/db/services.php b/db/services.php index 4308a8f..dae064f 100644 --- a/db/services.php +++ b/db/services.php @@ -95,6 +95,14 @@ 'description' => 'Get Markers feedbacks', 'capabilities' => 'mod/assign:view', 'type' => 'read', + ], + 'api_ext_update_assessment' => [ + 'classname' => 'api_extend', + 'methodname' => 'update_assessment', + 'classpath' => 'local/api_extend/externallib.php', + 'description' => 'Update Course Assessment', + 'capabilities' => 'moodle/course:update', + 'type' => 'write', ] ]; diff --git a/externallib.php b/externallib.php index bc76cd7..16dafa5 100644 --- a/externallib.php +++ b/externallib.php @@ -702,4 +702,81 @@ public static function get_markers_feedback_returns(): external_multiple_structu ); } + + + /** + * Returns description of method parameters + * + * @return external_function_parameters + */ + public static function update_assessment_parameters() + { + return new external_function_parameters([ + 'instanceid' => new external_value(PARAM_INT, 'The assignment id'), + 'courseid' => new external_value(PARAM_INT, 'The course id'), + 'duedate' => new external_value(PARAM_ALPHANUMEXT, 'The due date') + ]); + } + + /** + * Update Course Assessment + * + * @param $instanceid + * @param $courseid + * @param $duedate + * @return array | false + * @throws dml_exception + * @throws invalid_parameter_exception + * @throws required_capability_exception + */ + public static function update_assessment($instanceid, $courseid, $duedate) + { + global $DB; + + //Parameter validation + $params = self::validate_parameters( + self::update_assessment_parameters(), + [ + 'instanceid' => $instanceid, + 'courseid' => $courseid, + 'duedate' => $duedate, + ] + ); + + $context = context_system::instance(); + require_capability('moodle/course:update', $context); + + $sql = "SELECT a.id + FROM {assign} a + WHERE a.id = :id AND a.course = :courseid"; + + $record = $DB->get_record_sql($sql, ['id' => $params['instanceid'], 'courseid' => $params['courseid']], MUST_EXIST); + + if(empty($record)) { + return false; + } + + $rec = new stdclass(); + $rec->id = $record->id; + $rec->duedate = $duedate; + + $DB->update_record('assign', $rec); + + return (array)$record; + + } + + /** + * Returns description of method result value + * + * @return external_single_structure + */ + public static function update_assessment_returns(): external_single_structure + { + return new external_single_structure( + [ + 'id' => new external_value(PARAM_INT, 'The course assessment id'), + ] + ); + } } diff --git a/version.php b/version.php index 93ff48b..ac89bc4 100644 --- a/version.php +++ b/version.php @@ -22,7 +22,7 @@ defined('MOODLE_INTERNAL') || die; -$plugin->version = 2022111400; +$plugin->version = 2022120700; $plugin->requires = 2018051700; // Requires this Moodle version - at least 2.0 $plugin->component = 'local_api_extend'; $plugin->release = '0.2'; From 389c9df4c1a686869a909d4fbada5aa0887c200c Mon Sep 17 00:00:00 2001 From: Yiannis Demetriou Date: Thu, 8 Dec 2022 12:01:01 +0200 Subject: [PATCH 2/3] assessment due date --- externallib.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/externallib.php b/externallib.php index 16dafa5..6bcd2d9 100644 --- a/externallib.php +++ b/externallib.php @@ -714,7 +714,7 @@ public static function update_assessment_parameters() return new external_function_parameters([ 'instanceid' => new external_value(PARAM_INT, 'The assignment id'), 'courseid' => new external_value(PARAM_INT, 'The course id'), - 'duedate' => new external_value(PARAM_ALPHANUMEXT, 'The due date') + 'duedate' => new external_value(PARAM_INT, 'The due date') ]); } From 556ba76c0cfa39678ee349e8ccf31a1d68479f18 Mon Sep 17 00:00:00 2001 From: petrosandreou <44263795+petrosandreou@users.noreply.github.com> Date: Tue, 31 Jan 2023 12:06:27 +0200 Subject: [PATCH 3/3] Revert "assessment due date" --- db/services.php | 8 ----- externallib.php | 77 ------------------------------------------------- version.php | 2 +- 3 files changed, 1 insertion(+), 86 deletions(-) diff --git a/db/services.php b/db/services.php index dae064f..4308a8f 100644 --- a/db/services.php +++ b/db/services.php @@ -95,14 +95,6 @@ 'description' => 'Get Markers feedbacks', 'capabilities' => 'mod/assign:view', 'type' => 'read', - ], - 'api_ext_update_assessment' => [ - 'classname' => 'api_extend', - 'methodname' => 'update_assessment', - 'classpath' => 'local/api_extend/externallib.php', - 'description' => 'Update Course Assessment', - 'capabilities' => 'moodle/course:update', - 'type' => 'write', ] ]; diff --git a/externallib.php b/externallib.php index 6bcd2d9..bc76cd7 100644 --- a/externallib.php +++ b/externallib.php @@ -702,81 +702,4 @@ public static function get_markers_feedback_returns(): external_multiple_structu ); } - - - /** - * Returns description of method parameters - * - * @return external_function_parameters - */ - public static function update_assessment_parameters() - { - return new external_function_parameters([ - 'instanceid' => new external_value(PARAM_INT, 'The assignment id'), - 'courseid' => new external_value(PARAM_INT, 'The course id'), - 'duedate' => new external_value(PARAM_INT, 'The due date') - ]); - } - - /** - * Update Course Assessment - * - * @param $instanceid - * @param $courseid - * @param $duedate - * @return array | false - * @throws dml_exception - * @throws invalid_parameter_exception - * @throws required_capability_exception - */ - public static function update_assessment($instanceid, $courseid, $duedate) - { - global $DB; - - //Parameter validation - $params = self::validate_parameters( - self::update_assessment_parameters(), - [ - 'instanceid' => $instanceid, - 'courseid' => $courseid, - 'duedate' => $duedate, - ] - ); - - $context = context_system::instance(); - require_capability('moodle/course:update', $context); - - $sql = "SELECT a.id - FROM {assign} a - WHERE a.id = :id AND a.course = :courseid"; - - $record = $DB->get_record_sql($sql, ['id' => $params['instanceid'], 'courseid' => $params['courseid']], MUST_EXIST); - - if(empty($record)) { - return false; - } - - $rec = new stdclass(); - $rec->id = $record->id; - $rec->duedate = $duedate; - - $DB->update_record('assign', $rec); - - return (array)$record; - - } - - /** - * Returns description of method result value - * - * @return external_single_structure - */ - public static function update_assessment_returns(): external_single_structure - { - return new external_single_structure( - [ - 'id' => new external_value(PARAM_INT, 'The course assessment id'), - ] - ); - } } diff --git a/version.php b/version.php index ac89bc4..93ff48b 100644 --- a/version.php +++ b/version.php @@ -22,7 +22,7 @@ defined('MOODLE_INTERNAL') || die; -$plugin->version = 2022120700; +$plugin->version = 2022111400; $plugin->requires = 2018051700; // Requires this Moodle version - at least 2.0 $plugin->component = 'local_api_extend'; $plugin->release = '0.2';