From 39e6e2b28d406a2d6254dda439bbe8f83da6f6b2 Mon Sep 17 00:00:00 2001 From: Hamza Remmal <hamzaremmalpriv@gmail.com> Date: Thu, 3 Aug 2023 16:41:12 +0100 Subject: [PATCH] draft of the get_infos function --- .../classes/external/autograde_get_infos.php | 25 +++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/moodle-assignsubmission-autograde/classes/external/autograde_get_infos.php b/moodle-assignsubmission-autograde/classes/external/autograde_get_infos.php index 344691f0..a0a7a3e1 100644 --- a/moodle-assignsubmission-autograde/classes/external/autograde_get_infos.php +++ b/moodle-assignsubmission-autograde/classes/external/autograde_get_infos.php @@ -27,10 +27,12 @@ namespace assignsubmission_autograde\external; +use dml_exception; use external_api; use external_function_parameters; use external_single_structure; use external_value; +use stdClass; defined('MOODLE_INTERNAL') || die(); @@ -52,8 +54,27 @@ final class autograde_get_infos extends external_api { ]); } - public static function get_infos($submissionid): object { - return new \stdClass(); + /** + * @throws dml_exception + */ + public static function get_infos($submissionid): string { + global $DB; + // HR : Fetch the course's and assignment's ids of the submission + $assignment_id = $DB->get_field('assign_submission', 'assignment', array('id' => $submissionid)); + $course_id = $DB->get_field('assign', 'course', array('id' => $assignment_id)); + + // HR : Fetch the assignment's and course's metadata + $assign = $DB->get_record('assign', array('id' => $assignment_id), '*', MUST_EXIST); + $course = $DB->get_record('course', array('id' => $course_id), '*', MUST_EXIST); + $category = $DB->get_field('categories', 'name', array('id' => $course->category)); + + // HR : Build the infos object response + $infos = new stdClass(); + $infos->course_short_name = $course->shortname; + $infos->course_category = $category; + + + return json_encode($infos); } /** -- GitLab