From 8819a836017cf762ab4bbb91034c3864d4059bc9 Mon Sep 17 00:00:00 2001 From: Frederic Massart Date: Fri, 22 Mar 2013 09:39:37 +0800 Subject: [PATCH] MDL-26644 course: Remove useless setting completionstartonenrol This commit removes any trace of the setting 'Completion tracking begins on enrolment' as it does not appear to do anything. --- admin/settings/courses.php | 1 - course/edit_form.php | 8 -------- course/externallib.php | 21 +-------------------- course/tests/externallib_test.php | 5 ----- enrol/imsenterprise/lib.php | 1 - lang/en/completion.php | 2 -- lib/db/install.xml | 5 ++--- lib/db/upgrade.php | 15 +++++++++++++++ 8 files changed, 18 insertions(+), 40 deletions(-) mode change 100644 => 100755 lib/db/install.xml diff --git a/admin/settings/courses.php b/admin/settings/courses.php index 75b3246df3f..8af19736053 100644 --- a/admin/settings/courses.php +++ b/admin/settings/courses.php @@ -80,7 +80,6 @@ if ($hassiteconfig $temp->add(new admin_setting_configselect('moodlecourse/enablecompletion', new lang_string('completion','completion'), '', 0, array(0 => new lang_string('completiondisabled','completion'), 1 => new lang_string('completionenabled','completion')))); - $temp->add(new admin_setting_configcheckbox('moodlecourse/completionstartonenrol', new lang_string('completionstartonenrol','completion'), new lang_string('completionstartonenrolhelp', 'completion'), 0)); $ADMIN->add('courses', $temp); /// "courserequests" settingpage diff --git a/course/edit_form.php b/course/edit_form.php index ce7d8b7c639..67ae13fc2e7 100644 --- a/course/edit_form.php +++ b/course/edit_form.php @@ -251,18 +251,10 @@ class course_edit_form extends moodleform { $mform->addElement('select', 'enablecompletion', get_string('completion','completion'), array(0=>get_string('completiondisabled','completion'), 1=>get_string('completionenabled','completion'))); $mform->setDefault('enablecompletion', $courseconfig->enablecompletion); - - $mform->addElement('advcheckbox', 'completionstartonenrol', get_string('completionstartonenrol', 'completion')); - $mform->setDefault('completionstartonenrol', $courseconfig->completionstartonenrol); - $mform->disabledIf('completionstartonenrol', 'enablecompletion', 'eq', 0); } else { $mform->addElement('hidden', 'enablecompletion'); $mform->setType('enablecompletion', PARAM_INT); $mform->setDefault('enablecompletion',0); - - $mform->addElement('hidden', 'completionstartonenrol'); - $mform->setType('completionstartonenrol', PARAM_INT); - $mform->setDefault('completionstartonenrol',0); } /// customizable role names in this course diff --git a/course/externallib.php b/course/externallib.php index 3063966d57f..4897a23ba3c 100644 --- a/course/externallib.php +++ b/course/externallib.php @@ -344,7 +344,6 @@ class core_course_external extends external_api { $courseinfo['timemodified'] = $course->timemodified; $courseinfo['forcetheme'] = $course->theme; $courseinfo['enablecompletion'] = $course->enablecompletion; - $courseinfo['completionstartonenrol'] = $course->completionstartonenrol; $courseinfo['completionnotify'] = $course->completionnotify; $courseinfo['courseformatoptions'] = array(); foreach ($courseformatoptions as $key => $value) { @@ -418,10 +417,6 @@ class core_course_external extends external_api { 'Enabled, control via completion and activity settings. Disbaled, not shown in activity settings.', VALUE_OPTIONAL), - 'completionstartonenrol' => new external_value(PARAM_INT, - '1: begin tracking a student\'s progress in course completion - after course enrolment. 0: does not', - VALUE_OPTIONAL), 'completionnotify' => new external_value(PARAM_INT, '1: yes 0: no', VALUE_OPTIONAL), 'lang' => new external_value(PARAM_SAFEDIR, @@ -494,10 +489,6 @@ class core_course_external extends external_api { 'Enabled, control via completion and activity settings. Disabled, not shown in activity settings.', VALUE_OPTIONAL), - 'completionstartonenrol' => new external_value(PARAM_INT, - '1: begin tracking a student\'s progress in course completion after - course enrolment. 0: does not', - VALUE_OPTIONAL), 'completionnotify' => new external_value(PARAM_INT, '1: yes 0: no', VALUE_OPTIONAL), 'lang' => new external_value(PARAM_SAFEDIR, @@ -579,12 +570,8 @@ class core_course_external extends external_api { if (!array_key_exists('enablecompletion', $course)) { $course['enablecompletion'] = $courseconfig->enablecompletion; } - if (!array_key_exists('completionstartonenrol', $course)) { - $course['completionstartonenrol'] = $courseconfig->completionstartonenrol; - } } else { $course['enablecompletion'] = 0; - $course['completionstartonenrol'] = 0; } $course['category'] = $course['categoryid']; @@ -670,9 +657,6 @@ class core_course_external extends external_api { 'enablecompletion' => new external_value(PARAM_INT, 'Enabled, control via completion and activity settings. Disabled, not shown in activity settings.', VALUE_OPTIONAL), - 'completionstartonenrol' => new external_value(PARAM_INT, - '1: begin tracking a student\'s progress in course completion after - course enrolment. 0: does not', VALUE_OPTIONAL), 'completionnotify' => new external_value(PARAM_INT, '1: yes 0: no', VALUE_OPTIONAL), 'lang' => new external_value(PARAM_SAFEDIR, 'forced course language', VALUE_OPTIONAL), 'forcetheme' => new external_value(PARAM_PLUGIN, 'name of the force theme', VALUE_OPTIONAL), @@ -777,11 +761,8 @@ class core_course_external extends external_api { } // Make sure completion is enabled before setting it. - if ((array_key_exists('enabledcompletion', $course) || - array_key_exists('completionstartonenrol', $course)) && - !completion_info::is_enabled_for_site()) { + if (array_key_exists('enabledcompletion', $course) && !completion_info::is_enabled_for_site()) { $course['enabledcompletion'] = 0; - $course['completionstartonenrol'] = 0; } // Make sure maxbytes are less then CFG->maxbytes. diff --git a/course/tests/externallib_test.php b/course/tests/externallib_test.php index 66b1fc711c4..f5765ae15ba 100644 --- a/course/tests/externallib_test.php +++ b/course/tests/externallib_test.php @@ -359,7 +359,6 @@ class core_course_external_testcase extends externallib_advanced_testcase { $course2['groupmodeforce'] = 0; $course2['defaultgroupingid'] = 0; $course2['enablecompletion'] = 1; - $course2['completionstartonenrol'] = 1; $course2['completionnotify'] = 1; $course2['lang'] = 'en'; $course2['forcetheme'] = 'base'; @@ -416,7 +415,6 @@ class core_course_external_testcase extends externallib_advanced_testcase { // We enabled completion at the beginning of the test. $this->assertEquals($courseinfo->enablecompletion, $course2['enablecompletion']); - $this->assertEquals($courseinfo->completionstartonenrol, $course2['completionstartonenrol']); } else if ($createdcourse['shortname'] == $course1['shortname']) { $courseconfig = get_config('moodlecourse'); @@ -544,9 +542,7 @@ class core_course_external_testcase extends externallib_advanced_testcase { $this->assertEquals($course['completionnotify'], $dbcourse->completionnotify); $this->assertEquals($course['lang'], $dbcourse->lang); $this->assertEquals($course['forcetheme'], $dbcourse->theme); - $this->assertEquals($course['completionstartonenrol'], $dbcourse->completionstartonenrol); $this->assertEquals($course['enablecompletion'], $dbcourse->enablecompletion); - $this->assertEquals($course['completionstartonenrol'], $dbcourse->completionstartonenrol); if ($dbcourse->format === 'topics') { $this->assertEquals($course['courseformatoptions'], array( array('name' => 'numsections', 'value' => $dbcourse->numsections), @@ -733,7 +729,6 @@ class core_course_external_testcase extends externallib_advanced_testcase { if (completion_info::is_enabled_for_site()) { $this->assertEquals($course2['enabledcompletion'], $courseinfo->enablecompletion); - $this->assertEquals($course2['completionstartonenrol'], $courseinfo->completionstartonenrol); } } else if ($course['id'] == $course1['id']) { $this->assertEquals($course1['fullname'], $courseinfo->fullname); diff --git a/enrol/imsenterprise/lib.php b/enrol/imsenterprise/lib.php index 8198f4b4074..970a1a7cd83 100644 --- a/enrol/imsenterprise/lib.php +++ b/enrol/imsenterprise/lib.php @@ -398,7 +398,6 @@ function process_group_tag($tagcontents) { $course->groupmode = $courseconfig->groupmode; $course->groupmodeforce = $courseconfig->groupmodeforce; $course->enablecompletion = $courseconfig->enablecompletion; - $course->completionstartonenrol = $courseconfig->completionstartonenrol; // Insert default names for teachers/students, from the current language // Handle course categorisation (taken from the group.org.orgunit field if present) diff --git a/lang/en/completion.php b/lang/en/completion.php index 8e3a45f3512..8979fa08540 100644 --- a/lang/en/completion.php +++ b/lang/en/completion.php @@ -98,8 +98,6 @@ $string['completionenabled']='Enabled, control via completion and activity setti $string['completionmenuitem']='Completion'; $string['completiononunenrolment']='Completion on unenrolment'; $string['completionsettingslocked']='Completion settings locked'; -$string['completionstartonenrol']='Completion tracking begins on enrolment'; -$string['completionstartonenrolhelp']='Begin tracking a student\'s progress in course completion after course enrolment'; $string['completed'] = 'Completed'; $string['confirmselfcompletion']='Confirm self completion'; $string['coursealreadycompleted']='You have already completed this course'; diff --git a/lib/db/install.xml b/lib/db/install.xml old mode 100644 new mode 100755 index 2ba573590ef..352a9e4d564 --- a/lib/db/install.xml +++ b/lib/db/install.xml @@ -1,5 +1,5 @@ - @@ -98,7 +98,6 @@ - @@ -2933,4 +2932,4 @@ - + \ No newline at end of file diff --git a/lib/db/upgrade.php b/lib/db/upgrade.php index e7039580a15..53f8aee2d0e 100644 --- a/lib/db/upgrade.php +++ b/lib/db/upgrade.php @@ -1756,5 +1756,20 @@ function xmldb_main_upgrade($oldversion) { // No savepoint needed for this change. } + if ($oldversion < 2013032200.00) { + + // Define field completionstartonenrol to be dropped from course. + $table = new xmldb_table('course'); + $field = new xmldb_field('completionstartonenrol'); + + // Conditionally launch drop field completionstartonenrol. + if ($dbman->field_exists($table, $field)) { + $dbman->drop_field($table, $field); + } + + // Main savepoint reached. + upgrade_main_savepoint(true, 2013032200.00); + } + return true; }