Skip to content

Commit

Permalink
MDL-70781 course: setting for displaying completion conditions
Browse files Browse the repository at this point in the history
Part of MDL-70817
  • Loading branch information
lameze authored and junpataleta committed Apr 2, 2021
1 parent 79622a4 commit 94a8b91
Show file tree
Hide file tree
Showing 7 changed files with 44 additions and 1 deletion.
11 changes: 11 additions & 0 deletions admin/settings/courses.php
Expand Up @@ -170,6 +170,17 @@
$temp->add(new admin_setting_configselect('moodlecourse/enablecompletion', new lang_string('completion', 'completion'),
new lang_string('enablecompletion_help', 'completion'), 1, array(0 => new lang_string('no'), 1 => new lang_string('yes'))));

// Display completion conditions.
$temp->add(new admin_setting_heading('showcompletionconditions',
new lang_string('showcompletionconditions', 'completion'), ''));
$temp->add(new admin_setting_configselect('moodlecourse/showcompletionconditions',
new lang_string('showcompletionconditions', 'completion'),
new lang_string('showcompletionconditions_help', 'completion'), 1, [
0 => new lang_string('no'),
1 => new lang_string('yes')
]
));

// Groups.
$temp->add(new admin_setting_heading('groups', new lang_string('groups', 'group'), ''));
$choices = array();
Expand Down
6 changes: 6 additions & 0 deletions course/edit_form.php
Expand Up @@ -317,6 +317,12 @@ function definition() {
$mform->addElement('selectyesno', 'enablecompletion', get_string('enablecompletion', 'completion'));
$mform->setDefault('enablecompletion', $courseconfig->enablecompletion);
$mform->addHelpButton('enablecompletion', 'enablecompletion', 'completion');

$showcompletionconditions = $courseconfig->showcompletionconditions ?? COMPLETION_SHOW_CONDITIONS;
$mform->addElement('selectyesno', 'showcompletionconditions', get_string('showcompletionconditions', 'completion'));
$mform->addHelpButton('showcompletionconditions', 'showcompletionconditions', 'completion');
$mform->setDefault('showcompletionconditions', $showcompletionconditions);
$mform->hideIf('showcompletionconditions', 'enablecompletion', 'eq', COMPLETION_HIDE_CONDITIONS);
} else {
$mform->addElement('hidden', 'enablecompletion');
$mform->setType('enablecompletion', PARAM_INT);
Expand Down
2 changes: 2 additions & 0 deletions lang/en/completion.php
Expand Up @@ -221,6 +221,8 @@
$string['select'] = 'Select';
$string['self'] = 'Self';
$string['selfcompletion'] = 'Self completion';
$string['showcompletionconditions'] = 'Show completion conditions';
$string['showcompletionconditions_help'] = 'The activity completion conditions are displayed in the list of activities on the course page.';
$string['showinguser'] = 'Showing user';
$string['unenrolingfromcourse'] = 'Unenrolling from course';
$string['unenrolment'] = 'Unenrolment';
Expand Down
9 changes: 9 additions & 0 deletions lib/completionlib.php
Expand Up @@ -141,6 +141,15 @@
*/
define('COMPLETION_AGGREGATION_ANY', 2);

/**
* Completion conditions will be displayed to user.
*/
define('COMPLETION_SHOW_CONDITIONS', 1);

/**
* Completion conditions will be hidden from user.
*/
define('COMPLETION_HIDE_CONDITIONS', 0);

/**
* Utility function for checking if the logged in user can view
Expand Down
1 change: 1 addition & 0 deletions lib/db/install.xml
Expand Up @@ -104,6 +104,7 @@
<FIELD NAME="cacherev" TYPE="int" LENGTH="10" NOTNULL="true" DEFAULT="0" SEQUENCE="false" COMMENT="Incrementing revision for validating the course content cache"/>
<FIELD NAME="originalcourseid" TYPE="int" LENGTH="10" NOTNULL="false" SEQUENCE="false" COMMENT="the id of the source course when a new course originates from a restore of another course on the same site."/>
<FIELD NAME="showactivitydates" TYPE="int" LENGTH="4" NOTNULL="true" DEFAULT="0" SEQUENCE="false" COMMENT="Whether to display activity dates to user. 0 = do not display, 1 = display activity dates"/>
<FIELD NAME="showcompletionconditions" TYPE="int" LENGTH="1" NOTNULL="true" DEFAULT="1" SEQUENCE="false" COMMENT="Whether to display completion conditions to user. 0 = do not display, 1 = display conditions"/>
</FIELDS>
<KEYS>
<KEY NAME="primary" TYPE="primary" FIELDS="id"/>
Expand Down
14 changes: 14 additions & 0 deletions lib/db/upgrade.php
Expand Up @@ -2535,5 +2535,19 @@ function xmldb_main_upgrade($oldversion) {
upgrade_main_savepoint(true, 2021033100.00);
}

if ($oldversion < 2021033100.01) {
// Define field 'showcompletionconditions' to be added to course.
$table = new xmldb_table('course');
$field = new xmldb_field('showcompletionconditions', XMLDB_TYPE_INTEGER, '1', null,
XMLDB_NOTNULL, null, '1', 'completionnotify');

if (!$dbman->field_exists($table, $field)) {
$dbman->add_field($table, $field);
}

// Main savepoint reached.
upgrade_main_savepoint(true, 2021033100.01);
}

return true;
}
2 changes: 1 addition & 1 deletion version.php
Expand Up @@ -29,7 +29,7 @@

defined('MOODLE_INTERNAL') || die();

$version = 2021033100.00; // 20201109 = branching date YYYYMMDD - do not modify!
$version = 2021033100.01; // 20201109 = branching date YYYYMMDD - do not modify!
// RR = release increments - 00 in DEV branches.
// .XX = incremental changes.
$release = '3.11dev+ (Build: 20210330)';// Human-friendly version name
Expand Down

0 comments on commit 94a8b91

Please sign in to comment.