Author: david
Date: Mon Nov 23 17:37:54 2009
New Revision: 3944

Log:
Make migration task for moving QubitUserRoleRelation -> QubitAclUserGroup more 
accommodating to avoid problems with missing QubitRole constant ids.  Fixes 
issue #1138. --force

Modified:
   trunk/lib/task/migrate/QubitMigrate107to108.class.php

Modified: trunk/lib/task/migrate/QubitMigrate107to108.class.php
==============================================================================
--- trunk/lib/task/migrate/QubitMigrate107to108.class.php       Mon Nov 23 
10:36:34 2009        (r3943)
+++ trunk/lib/task/migrate/QubitMigrate107to108.class.php       Mon Nov 23 
17:37:54 2009        (r3944)
@@ -486,19 +486,32 @@
     {
       $role = $this->data['QubitRole'][$userRoleRelation['role_id']];
 
-      if (1 !== preg_match('/QubitRole::([A-Z_]+)/', $role['id'], $matches))
+      if (1 === preg_match('/QubitRole::([A-Z_]+)/', $role['id'], $matches))
       {
-        continue;
+        $groupId = '<?php echo QubitAclGroup::'.$matches[1].'."\n" ?>';
       }
-      $groupId = '<?php echo QubitAclGroup::'.$matches[1].'."\n" ?>';
-
-      if (1 !== preg_match('/_(\d+)$/', $userRoleRelation['user_id'], 
$matches))
+      else
       {
-        continue;
+        switch ($role['name'])
+        {
+          case 'administrator':
+            $groupId = '<?php echo QubitAclGroup::ADMINISTRATOR_ID."\n" ?>';
+            break;
+          case 'editor':
+            $groupId = '<?php echo QubitAclGroup::EDITOR_ID."\n" ?>';
+            break;
+          case 'contributor':
+            $groupId = '<?php echo QubitAclGroup::CONTRIBUTOR_ID."\n" ?>';
+            break;
+          case 'translator':
+            $groupId = '<?php echo QubitAclGroup::TRANSLATOR_ID."\n" ?>';
+            break;
+        }
       }
-      $name = 'QubitUserGroup_'.$matches[1].'_'.$role['name'];
 
-      $this->data['QubitAclUserGroup'][$name] = array(
+      $newKey = 'QubitAclUserGroup_'.rand();
+
+      $this->data['QubitAclUserGroup'][$newKey] = array(
         'user_id' => $userRoleRelation['user_id'],
         'group_id' => $groupId
       );

--

You received this message because you are subscribed to the Google Groups 
"Qubit Toolkit Commits" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/qubit-commits?hl=en.


Reply via email to