From aa4ae8f376d8af3d58d8b9ebf90694eb6c5a14cf Mon Sep 17 00:00:00 2001 From: Paul Holden Date: Tue, 18 Jul 2023 12:42:01 +0100 Subject: [PATCH] MDL-78742 tool_uploadcourse: configure show activity dates value. --- admin/tool/uploadcourse/classes/course.php | 2 +- admin/tool/uploadcourse/classes/step2_form.php | 4 ++++ admin/tool/uploadcourse/cli/uploadcourse.php | 1 + admin/tool/uploadcourse/tests/course_test.php | 8 ++++++++ 4 files changed, 14 insertions(+), 1 deletion(-) diff --git a/admin/tool/uploadcourse/classes/course.php b/admin/tool/uploadcourse/classes/course.php index a5d827fb5f9..1316b0a398e 100644 --- a/admin/tool/uploadcourse/classes/course.php +++ b/admin/tool/uploadcourse/classes/course.php @@ -101,7 +101,7 @@ class tool_uploadcourse_course { /** @var array fields allowed as course data. */ static protected $validfields = array('fullname', 'shortname', 'idnumber', 'category', 'visible', 'startdate', 'enddate', 'summary', 'format', 'theme', 'lang', 'newsitems', 'showgrades', 'showreports', 'legacyfiles', 'maxbytes', - 'groupmode', 'groupmodeforce', 'enablecompletion', 'downloadcontent'); + 'groupmode', 'groupmodeforce', 'enablecompletion', 'downloadcontent', 'showactivitydates'); /** @var array fields required on course creation. */ static protected $mandatoryfields = array('fullname', 'category'); diff --git a/admin/tool/uploadcourse/classes/step2_form.php b/admin/tool/uploadcourse/classes/step2_form.php index 4cd4f27c2be..ffd6ba06f79 100644 --- a/admin/tool/uploadcourse/classes/step2_form.php +++ b/admin/tool/uploadcourse/classes/step2_form.php @@ -192,6 +192,10 @@ class tool_uploadcourse_step2_form extends tool_uploadcourse_base_form { $mform->addHelpButton('defaults[enablecompletion]', 'enablecompletion', 'completion'); } + $mform->addElement('selectyesno', 'defaults[showactivitydates]', get_string('showactivitydates')); + $mform->addHelpButton('defaults[showactivitydates]', 'showactivitydates'); + $mform->setDefault('defaults[showactivitydates]', $courseconfig->showactivitydates); + // Add custom fields to the form. $handler = \core_course\customfield\course_handler::create(); $handler->instance_form_definition($mform, 0, 'defaultvaluescustomfieldcategory', 'tool_uploadcourse'); diff --git a/admin/tool/uploadcourse/cli/uploadcourse.php b/admin/tool/uploadcourse/cli/uploadcourse.php index 800987026a3..2ee2977ffe1 100644 --- a/admin/tool/uploadcourse/cli/uploadcourse.php +++ b/admin/tool/uploadcourse/cli/uploadcourse.php @@ -166,6 +166,7 @@ $defaults['groupmodeforce'] = $courseconfig->groupmodeforce; $defaults['visible'] = $courseconfig->visible; $defaults['lang'] = $courseconfig->lang; $defaults['enablecompletion'] = $courseconfig->enablecompletion; +$defaults['showactivitydates'] = $courseconfig->showactivitydates; // Course template. if (isset($options['templatecourse'])) { diff --git a/admin/tool/uploadcourse/tests/course_test.php b/admin/tool/uploadcourse/tests/course_test.php index 267bf376784..959f7bbe3b4 100644 --- a/admin/tool/uploadcourse/tests/course_test.php +++ b/admin/tool/uploadcourse/tests/course_test.php @@ -425,6 +425,7 @@ class course_test extends \advanced_testcase { 'groupmode' => '2', 'groupmodeforce' => '1', 'enablecompletion' => '1', + 'showactivitydates' => '1', 'tags' => 'Cat, Dog', 'role_teacher' => 'Knight', @@ -478,6 +479,7 @@ class course_test extends \advanced_testcase { $this->assertEquals($data['groupmode'], $course->groupmode); $this->assertEquals($data['groupmodeforce'], $course->groupmodeforce); $this->assertEquals($data['enablecompletion'], $course->enablecompletion); + $this->assertEquals($data['showactivitydates'], $course->showactivitydates); $this->assertEquals($data['tags'], join(', ', \core_tag_tag::get_item_tags_array('core', 'course', $course->id))); // Roles. @@ -530,6 +532,7 @@ class course_test extends \advanced_testcase { 'groupmode' => '1', 'groupmodeforce' => '0', 'enablecompletion' => '0', + 'showactivitydates' => '0', 'role_teacher' => 'Teacher', 'role_manager' => 'Manager', @@ -583,6 +586,7 @@ class course_test extends \advanced_testcase { $this->assertEquals($data['groupmode'], $course->groupmode); $this->assertEquals($data['groupmodeforce'], $course->groupmodeforce); $this->assertEquals($data['enablecompletion'], $course->enablecompletion); + $this->assertEquals($data['showactivitydates'], $course->showactivitydates); // Roles. $roleids = array(); @@ -644,6 +648,7 @@ class course_test extends \advanced_testcase { 'groupmode' => '2', 'groupmodeforce' => '1', 'enablecompletion' => '1', + 'showactivitydates' => '1', ); $this->assertFalse($DB->record_exists('course', array('shortname' => 'c1'))); @@ -673,6 +678,7 @@ class course_test extends \advanced_testcase { $this->assertEquals($defaultdata['groupmode'], $course->groupmode); $this->assertEquals($defaultdata['groupmodeforce'], $course->groupmodeforce); $this->assertEquals($defaultdata['enablecompletion'], $course->enablecompletion); + $this->assertEquals($defaultdata['showactivitydates'], $course->showactivitydates); // Update. $cat = $this->getDataGenerator()->create_category(); @@ -701,6 +707,7 @@ class course_test extends \advanced_testcase { 'groupmode' => '1', 'groupmodeforce' => '0', 'enablecompletion' => '0', + 'showactivitydates' => '0', ); $this->assertTrue($DB->record_exists('course', array('shortname' => 'c1'))); @@ -730,6 +737,7 @@ class course_test extends \advanced_testcase { $this->assertEquals($defaultdata['groupmode'], $course->groupmode); $this->assertEquals($defaultdata['groupmodeforce'], $course->groupmodeforce); $this->assertEquals($defaultdata['enablecompletion'], $course->enablecompletion); + $this->assertEquals($defaultdata['showactivitydates'], $course->showactivitydates); } public function test_rename() {