Skip to content

Commit

Permalink
MDL-48248 enrol_manual: Handle durations more precise than int days
Browse files Browse the repository at this point in the history
  • Loading branch information
Frederic Massart authored and David Monllao committed Jun 1, 2016
1 parent 69dcebb commit a5ea514
Show file tree
Hide file tree
Showing 4 changed files with 9 additions and 7 deletions.
4 changes: 2 additions & 2 deletions enrol/manual/ajax.php
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@
}

$roleid = optional_param('role', null, PARAM_INT);
$duration = optional_param('duration', 0, PARAM_INT);
$duration = optional_param('duration', 0, PARAM_FLOAT);
$startdate = optional_param('startdate', 0, PARAM_INT);
$recovergrades = optional_param('recovergrades', 0, PARAM_INT);

Expand Down Expand Up @@ -154,7 +154,7 @@
if ($duration <= 0) {
$timeend = 0;
} else {
$timeend = $timestart + ($duration*24*60*60);
$timeend = $timestart + intval($duration*24*60*60);
}

$instances = $manager->get_enrolment_instances();
Expand Down
2 changes: 1 addition & 1 deletion enrol/manual/lib.php
Original file line number Diff line number Diff line change
Expand Up @@ -232,7 +232,7 @@ public function get_manual_enrol_button(course_enrolment_manager $manager) {
$today = make_timestamp(date('Y', $now), date('m', $now), date('d', $now), 0, 0, 0);
$startdateoptions[3] = get_string('today') . ' (' . userdate($today, $dateformat) . ')';
$startdateoptions[4] = get_string('now', 'enrol_manual') . ' (' . userdate($now, get_string('strftimedatetimeshort')) . ')';
$defaultduration = $instance->enrolperiod > 0 ? $instance->enrolperiod / 86400 : '';
$defaultduration = $instance->enrolperiod > 0 ? $instance->enrolperiod / DAYSECS : '';

$modules = array('moodle-enrol_manual-quickenrolment', 'moodle-enrol_manual-quickenrolment-skin');
$arguments = array(
Expand Down
4 changes: 2 additions & 2 deletions enrol/manual/manage.php
Original file line number Diff line number Diff line change
Expand Up @@ -89,8 +89,8 @@
} else {
$defaultperiod = $instance->enrolperiod;
}
if (!isset($periodmenu[$defaultperiod])) {
$periodmenu[$defaultperiod] = get_string('numdays', '', floor($defaultperiod / DAYSECS));
if ($instance->enrolperiod > 0 && !isset($periodmenu[$instance->enrolperiod])) {
$periodmenu[$instance->enrolperiod] = format_time($instance->enrolperiod);
}
if (empty($extendbase)) {
if (!$extendbase = get_config('enrol_manual', 'enrolstart')) {
Expand Down
6 changes: 4 additions & 2 deletions enrol/manual/yui/quickenrolment/quickenrolment.js
Original file line number Diff line number Diff line change
Expand Up @@ -227,6 +227,7 @@ YUI.add('moodle-enrol_manual-quickenrolment', function(Y) {
populateDuration : function() {
var select = this.get(UEP.BASE).one('.'+CSS.ENROLMENTOPTION+'.'+CSS.DURATION+' select');
var defaultvalue = this.get(UEP.DEFAULTDURATION);
var prefix = Math.round(defaultvalue) != defaultvalue ? '≈' : '';
var index = 0, count = 0;
var durationdays = M.util.get_string('durationdays', 'enrol', '{a}');
for (var i = 1; i <= 365; i++) {
Expand All @@ -237,8 +238,9 @@ YUI.add('moodle-enrol_manual-quickenrolment', function(Y) {
}
select.append(option);
}
if (!index) {
select.append(create('<option value="'+defaultvalue+'">'+durationdays.replace('{a}', defaultvalue)+'</option>'));
if (!index && defaultvalue > 0) {
select.append(create('<option value="'+defaultvalue+'">'+durationdays.replace('{a}',
prefix + (Math.round(defaultvalue * 100) / 100))+'</option>'));
index = ++count;
}
select.set('selectedIndex', index);
Expand Down

0 comments on commit a5ea514

Please sign in to comment.