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.
This commit is contained in:
Frederic Massart 2013-03-22 09:39:37 +08:00
parent 373a8e052c
commit 8819a83601
8 changed files with 18 additions and 40 deletions

View file

@ -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

View file

@ -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

View file

@ -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.

View file

@ -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);

View file

@ -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)

View file

@ -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';

5
lib/db/install.xml Normal file → Executable file
View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<XMLDB PATH="lib/db" VERSION="20121116" COMMENT="XMLDB file for core Moodle tables"
<XMLDB PATH="lib/db" VERSION="20130321" COMMENT="XMLDB file for core Moodle tables"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="../../lib/xmldb/xmldb.xsd"
>
@ -98,7 +98,6 @@
<FIELD NAME="timemodified" TYPE="int" LENGTH="10" NOTNULL="true" DEFAULT="0" SEQUENCE="false"/>
<FIELD NAME="requested" TYPE="int" LENGTH="1" NOTNULL="true" DEFAULT="0" SEQUENCE="false"/>
<FIELD NAME="enablecompletion" TYPE="int" LENGTH="1" NOTNULL="true" DEFAULT="0" SEQUENCE="false" COMMENT="1 = allow use of 'completion' progress-tracking on this course. 0 = disable completion tracking on this course."/>
<FIELD NAME="completionstartonenrol" TYPE="int" LENGTH="1" NOTNULL="true" DEFAULT="0" SEQUENCE="false" COMMENT="1 = allow use of 'activty completion' progress-tracking on this course. 0 = disable activity completion tracking on this course."/>
<FIELD NAME="completionnotify" TYPE="int" LENGTH="1" NOTNULL="true" DEFAULT="0" SEQUENCE="false" COMMENT="Notify users when they complete this course"/>
</FIELDS>
<KEYS>
@ -2933,4 +2932,4 @@
</INDEXES>
</TABLE>
</TABLES>
</XMLDB>
</XMLDB>

View file

@ -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;
}