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.