Browse Source

Allow warnings with same percentage but different warnlevel.

MOODLE_33_STABLE
Dan Marsden 8 years ago
parent
commit
700c4b1bfb
  1. 14
      db/upgrade.php
  2. 2
      version.php
  3. 3
      warnings.php

14
db/upgrade.php

@ -351,7 +351,6 @@ function xmldb_attendance_upgrade($oldversion=0) {
// Adding keys to table attendance_warning. // Adding keys to table attendance_warning.
$table->add_key('primary', XMLDB_KEY_PRIMARY, array('id')); $table->add_key('primary', XMLDB_KEY_PRIMARY, array('id'));
$table->add_key('level_id', XMLDB_KEY_UNIQUE, array('idnumber, warningpercent'));
// Conditionally launch create table for attendance_warning. // Conditionally launch create table for attendance_warning.
if (!$dbman->table_exists($table)) { if (!$dbman->table_exists($table)) {
@ -382,5 +381,18 @@ function xmldb_attendance_upgrade($oldversion=0) {
upgrade_mod_savepoint(true, 2017050210, 'attendance'); upgrade_mod_savepoint(true, 2017050210, 'attendance');
} }
if ($oldversion < 2017050212) {
// Fix key.
$table = new xmldb_table('attendance_warning');
if ($table->getkey('level_id')) {
$table->deleteKey('level_id');
}
$key = new xmldb_key('level_id', XMLDB_KEY_UNIQUE, array('idnumber, warningpercent, warnafter'));
$dbman->add_key($table, $key);
// Attendance savepoint reached.
upgrade_mod_savepoint(true, 2017050212, 'attendance');
}
return $result; return $result;
} }

2
version.php

@ -23,7 +23,7 @@
*/ */
defined('MOODLE_INTERNAL') || die(); defined('MOODLE_INTERNAL') || die();
$plugin->version = 2017050211; $plugin->version = 2017050212;
$plugin->requires = 2017042100; $plugin->requires = 2017042100;
$plugin->release = '3.3.9'; $plugin->release = '3.3.9';
$plugin->maturity = MATURITY_STABLE; $plugin->maturity = MATURITY_STABLE;

3
warnings.php

@ -93,7 +93,8 @@ if ($data = $mform->get_data()) {
$notify->thirdpartyemails = implode(',', $data->thirdpartyemails); $notify->thirdpartyemails = implode(',', $data->thirdpartyemails);
} }
$existingrecord = $DB->record_exists('attendance_warning', array('idnumber' => $notify->idnumber, $existingrecord = $DB->record_exists('attendance_warning', array('idnumber' => $notify->idnumber,
'warningpercent' => $notify->warningpercent)); 'warningpercent' => $notify->warningpercent,
'warnafter' => $notify->warnafter));
if (empty($existingrecord)) { if (empty($existingrecord)) {
$DB->insert_record('attendance_warning', $notify); $DB->insert_record('attendance_warning', $notify);
echo $OUTPUT->notification(get_string('warningupdated', 'mod_attendance'), 'success'); echo $OUTPUT->notification(get_string('warningupdated', 'mod_attendance'), 'success');

Loading…
Cancel
Save