Merge pull request #22 from nadavkav/master
authorDan Marsden <dan@danmarsden.com>
Sun, 1 Dec 2013 23:57:59 +0000 (15:57 -0800)
committerDan Marsden <dan@danmarsden.com>
Sun, 1 Dec 2013 23:57:59 +0000 (15:57 -0800)
Add user's remarks to report - part 2

1  2 
locallib.php

diff --cc locallib.php
@@@ -1455,43 -1399,10 +1455,43 @@@ function attforblock_upgrade() 
      $module->name = 'attendance';
      $DB->update_record('modules', $module);
  
 +    // Now convert grade items to 'attendance'
 +    $sql = "UPDATE {grade_items}
 +            SET itemmodule = ?
 +            WHERE itemmodule = ?";
 +    $DB->execute($sql, array('attendance', 'attforblock'));
 +
 +    $sql = "UPDATE {grade_items_history}
 +               SET itemmodule = 'attendance'
 +             WHERE itemmodule = 'attforblock'";
 +    $DB->execute($sql);
 +
 +    /*
 +     * The user's custom capabilities need to be preserved due to the module renaming.
 +     * Capabilities with a modifierid = 0 value are installed by default.
 +     * Only update the user's custom capabilities where modifierid is not zero.
 +    */
 +    $sql = $DB->sql_like('capability', '?').' AND modifierid <> 0';
 +    $rs = $DB->get_recordset_select('role_capabilities', $sql, array('%mod/attforblock%'));
 +    foreach ($rs as $cap) {
 +        $renamedcapability = str_replace('mod/attforblock', 'mod/attendance', $cap->capability);
 +        $exists = $DB->record_exists('role_capabilities', array('roleid' => $cap->roleid, 'capability' => $renamedcapability));
 +        if (!$exists) {
 +            $DB->update_record('role_capabilities', array('id' => $cap->id, 'capability' => $renamedcapability));
 +        }
 +    }
 +
 +    // Delete old role capabilities.
 +    $sql = $DB->sql_like('capability', '?');
 +    $DB->delete_records_select('role_capabilities', $sql, array('%mod/attforblock%'));
 +
 +    // Delete old capabilities.
 +    $DB->delete_records_select('capabilities', 'component = ?', array('mod_attforblock'));
 +
      // Clear cache for courses with attendances.
 -    $attendances = $DB->get_recordset('attendance', array(), '', 'courseid');
 +    $attendances = $DB->get_recordset('attendance', array(), '', 'course');
      foreach ($attendances as $attendance) {
 -        rebuild_course_cache($attendance->courseid, true);
 +        rebuild_course_cache($attendance->course, true);
      }
      $attendances->close();
- }
+ }