/** * Renderers detailed course information. * * @param course_in_list $course The course to display details for. * @return string */ public function course_detail(course_in_list $course) { $details = \core_course\management\helper::get_course_detail_array($course); $fullname = $details['fullname']['value']; $html = html_writer::start_div('course-detail'); $html .= html_writer::tag('h3', $fullname); $html .= $this->course_detail_actions($course); foreach ($details as $class => $data) { $html .= $this->detail_pair($data['key'], $data['value'], $class); } $html .= html_writer::end_div(); return $html; }
/** * Test fetching course details. */ public function test_get_course_detail_array() { $this->resetAfterTest(true); $generator = $this->getDataGenerator(); $category = $generator->create_category(); $course = $generator->create_course(); $context = context_system::instance(); list($user, $roleid) = $this->get_user_objects($generator, $context->id); $generator->enrol_user($user->id, $course->id, $roleid); course_capability_assignment::allow(array(self::COURSE_VIEW, self::COURSE_VIEWHIDDEN, 'moodle/course:update', 'moodle/course:enrolreview', 'moodle/course:delete', 'moodle/backup:backupcourse', 'moodle/restore:restorecourse', 'moodle/site:accessallgroups'), $roleid, $context->id); $details = \core_course\management\helper::get_course_detail_array(new course_in_list($course)); $this->assertInternalType('array', $details); $this->assertArrayHasKey('format', $details); $this->assertArrayHasKey('fullname', $details); $this->assertArrayHasKey('shortname', $details); $this->assertArrayHasKey('idnumber', $details); $this->assertArrayHasKey('category', $details); $this->assertArrayHasKey('groupings', $details); $this->assertArrayHasKey('groups', $details); $this->assertArrayHasKey('roleassignments', $details); $this->assertArrayHasKey('enrolmentmethods', $details); $this->assertArrayHasKey('sections', $details); $this->assertArrayHasKey('modulesused', $details); }