]> git.mjollnir.org Git - moodle.git/commitdiff
fixed missing shortname pg upgrade code, sorry
authorskodak <skodak>
Tue, 19 Sep 2006 07:35:48 +0000 (07:35 +0000)
committerskodak <skodak>
Tue, 19 Sep 2006 07:35:48 +0000 (07:35 +0000)
lib/db/mysql.php
lib/db/postgres7.php
version.php

index 91972cc13ff4854dd2ec77ae09fe2e3dc28c1cdf..ca97e574b2148c6f3ece10be506bfc6c3c9b2635 100644 (file)
@@ -2224,7 +2224,7 @@ function main_upgrade($oldversion=0) {
         delete_records('config', 'name', 'requestedstudentsname');
     }
 
-    if ($oldversion < 2006091804) {
+    if ($oldversion < 2006091901) {
         $roles = get_records('role');
         $first = array_shift($roles);
         if (!empty($first->shortname)) {
@@ -2248,6 +2248,7 @@ function main_upgrade($oldversion=0) {
             }
         }
     }
+
     return $result;
 }
 
index 4846cf5cebf5ff81bcd4e228dba5af7a0646045a..17de9708c3cbcf6715d4194b1942026c605b3a42 100644 (file)
@@ -1824,6 +1824,31 @@ function main_upgrade($oldversion=0) {
         delete_records('config', 'name', 'requestedstudentsname');
     }
 
+    if ($oldversion < 2006091901) {
+        $roles = get_records('role');
+        $first = array_shift($roles);
+        if (!empty($first->shortname)) {
+            // shortnames already exist
+        } else {
+            table_column('role', '', 'shortname', 'varchar', '100', '', '', 'not null', 'name');
+            $legacy_names = array('admin', 'coursecreator', 'editingteacher', 'teacher', 'student', 'guest');
+            foreach ($legacy_names as $name) {
+                if ($roles = get_roles_with_capability('moodle/legacy:'.$name, CAP_ALLOW)) {
+                    $i = '';
+                    foreach ($roles as $role) {
+                        if (empty($role->shortname)) {
+                            $updated = new object();
+                            $updated->id = $role->id;
+                            $updated->shortname = $name.$i;
+                            update_record('role', $updated);
+                            $i++;
+                        }
+                    }
+                }
+            }
+        }
+    }
+
     return $result;
 }
 
index 2f4a9980bfa0e7ddbbdcfed95725c484fab60b93..24902c4f2500f85acb4ad8e0c29b99ae25c3c989 100644 (file)
@@ -6,7 +6,7 @@
 // This is compared against the values stored in the database to determine
 // whether upgrades should be performed (see lib/db/*.php)
 
-   $version = 2006091900;  // YYYYMMDD = date
+   $version = 2006091901;  // YYYYMMDD = date
                            //       XY = increments within a single day
 
    $release = '1.7 dev';    // Human-friendly version name