Author: david
Date: Tue Sep  8 14:36:54 2009
New Revision: 3192

Log:
Tweak ACL schema.

Modified:
   trunk/data/sql/plugins.qbAclPlugin.lib.model.schema.sql
   trunk/plugins/qbAclPlugin/config/schema.yml
   trunk/plugins/qbAclPlugin/lib/model/map/AclPermissionConditionMapBuilder.php
   trunk/plugins/qbAclPlugin/lib/model/map/AclUserGroupMapBuilder.php
   trunk/plugins/qbAclPlugin/lib/model/om/BaseAclUserGroup.php

Modified: trunk/data/sql/plugins.qbAclPlugin.lib.model.schema.sql
==============================================================================
--- trunk/data/sql/plugins.qbAclPlugin.lib.model.schema.sql     Tue Sep  8 
14:06:31 2009        (r3191)
+++ trunk/data/sql/plugins.qbAclPlugin.lib.model.schema.sql     Tue Sep  8 
14:36:54 2009        (r3192)
@@ -98,8 +98,8 @@
 CREATE TABLE `q_acl_permission_condition`
 (
        `id` INTEGER  NOT NULL AUTO_INCREMENT,
-       `permission_id` INTEGER,
-       `condition_id` INTEGER,
+       `permission_id` INTEGER  NOT NULL,
+       `condition_id` INTEGER  NOT NULL,
        PRIMARY KEY (`id`),
        INDEX `q_acl_permission_condition_FI_1` (`permission_id`),
        CONSTRAINT `q_acl_permission_condition_FK_1`
@@ -122,9 +122,11 @@
 
 CREATE TABLE `q_acl_user_group`
 (
+       `id` INTEGER  NOT NULL AUTO_INCREMENT,
        `user_id` INTEGER  NOT NULL,
        `group_id` INTEGER  NOT NULL,
-       PRIMARY KEY (`user_id`,`group_id`),
+       PRIMARY KEY (`id`),
+       INDEX `q_acl_user_group_FI_1` (`user_id`),
        CONSTRAINT `q_acl_user_group_FK_1`
                FOREIGN KEY (`user_id`)
                REFERENCES `q_user` (`id`)

Modified: trunk/plugins/qbAclPlugin/config/schema.yml
==============================================================================
--- trunk/plugins/qbAclPlugin/config/schema.yml Tue Sep  8 14:06:31 2009        
(r3191)
+++ trunk/plugins/qbAclPlugin/config/schema.yml Tue Sep  8 14:36:54 2009        
(r3192)
@@ -16,7 +16,7 @@
   acl_group:
     _attributes:    { phpName: aclGroup }
     id:             ~
-    parent_id:      { type: integer, required: false, foreignTable: acl_group, 
foreignReference: id, onDelete: cascade }
+    parent_id:      { type: integer, foreignTable: acl_group, 
foreignReference: id, onDelete: cascade }
     name:           { type: varchar, size: 255, required: true, index: unique }
     description:    { type: longvarchar }
 
@@ -31,10 +31,11 @@
   acl_permission_condition:
     _attributes:    { phpName: aclPermissionCondition }
     id:             ~
-    permission_id:  { type: integer, foreignTable: acl_permission, 
foreignReference: id, onDelete: cascade }
-    condition_id:   { type: integer, foreignTable: acl_condition, 
foreignReference: id, onDelete: cascade }
+    permission_id:  { type: integer, required: true, foreignTable: 
acl_permission, foreignReference: id, onDelete: cascade }
+    condition_id:   { type: integer, required: true, foreignTable: 
acl_condition, foreignReference: id, onDelete: cascade }
 
   acl_user_group:
     _attributes:    { phpName: aclUserGroup }
-    user_id:        { type: integer, primaryKey: true, required: true, 
foreignTable: user, foreignReference: id, onDelete: cascade }
-    group_id:       { type: integer, primaryKey: true, required: true, 
foreignTable: acl_group, foreignReference: id, onDelete: cascade }
\ No newline at end of file
+    id:             ~
+    user_id:        { type: integer, required: true, foreignTable: user, 
foreignReference: id, onDelete: cascade }
+    group_id:       { type: integer, required: true, foreignTable: acl_group, 
foreignReference: id, onDelete: cascade }
\ No newline at end of file

Modified: 
trunk/plugins/qbAclPlugin/lib/model/map/AclPermissionConditionMapBuilder.php
==============================================================================
--- 
trunk/plugins/qbAclPlugin/lib/model/map/AclPermissionConditionMapBuilder.php    
    Tue Sep  8 14:06:31 2009        (r3191)
+++ 
trunk/plugins/qbAclPlugin/lib/model/map/AclPermissionConditionMapBuilder.php    
    Tue Sep  8 14:36:54 2009        (r3192)
@@ -35,9 +35,9 @@
 
                $tMap->addPrimaryKey('ID', 'id', 'INTEGER', true, null);
 
-               $tMap->addForeignKey('PERMISSION_ID', 'permissionId', 
'INTEGER', 'q_acl_permission', 'ID', false, null);
+               $tMap->addForeignKey('PERMISSION_ID', 'permissionId', 
'INTEGER', 'q_acl_permission', 'ID', true, null);
 
-               $tMap->addForeignKey('CONDITION_ID', 'conditionId', 'INTEGER', 
'q_acl_condition', 'ID', false, null);
+               $tMap->addForeignKey('CONDITION_ID', 'conditionId', 'INTEGER', 
'q_acl_condition', 'ID', true, null);
 
        } 
 } 
\ No newline at end of file

Modified: trunk/plugins/qbAclPlugin/lib/model/map/AclUserGroupMapBuilder.php
==============================================================================
--- trunk/plugins/qbAclPlugin/lib/model/map/AclUserGroupMapBuilder.php  Tue Sep 
 8 14:06:31 2009        (r3191)
+++ trunk/plugins/qbAclPlugin/lib/model/map/AclUserGroupMapBuilder.php  Tue Sep 
 8 14:36:54 2009        (r3192)
@@ -31,11 +31,13 @@
                $tMap->setPhpName('aclUserGroup');
                $tMap->setClassname('QubitAclUserGroup');
 
-               $tMap->setUseIdGenerator(false);
+               $tMap->setUseIdGenerator(true);
 
-               $tMap->addForeignPrimaryKey('USER_ID', 'userId', 'INTEGER' , 
'q_user', 'ID', true, null);
+               $tMap->addPrimaryKey('ID', 'id', 'INTEGER', true, null);
 
-               $tMap->addForeignPrimaryKey('GROUP_ID', 'groupId', 'INTEGER' , 
'q_acl_group', 'ID', true, null);
+               $tMap->addForeignKey('USER_ID', 'userId', 'INTEGER', 'q_user', 
'ID', true, null);
+
+               $tMap->addForeignKey('GROUP_ID', 'groupId', 'INTEGER', 
'q_acl_group', 'ID', true, null);
 
        } 
 } 
\ No newline at end of file

Modified: trunk/plugins/qbAclPlugin/lib/model/om/BaseAclUserGroup.php
==============================================================================
--- trunk/plugins/qbAclPlugin/lib/model/om/BaseAclUserGroup.php Tue Sep  8 
14:06:31 2009        (r3191)
+++ trunk/plugins/qbAclPlugin/lib/model/om/BaseAclUserGroup.php Tue Sep  8 
14:36:54 2009        (r3192)
@@ -7,11 +7,13 @@
 
     TABLE_NAME = 'q_acl_user_group',
 
+    ID = 'q_acl_user_group.ID',
     USER_ID = 'q_acl_user_group.USER_ID',
     GROUP_ID = 'q_acl_user_group.GROUP_ID';
 
   public static function addSelectColumns(Criteria $criteria)
   {
+    $criteria->addSelectColumn(QubitAclUserGroup::ID);
     $criteria->addSelectColumn(QubitAclUserGroup::USER_ID);
     $criteria->addSelectColumn(QubitAclUserGroup::GROUP_ID);
 
@@ -26,16 +28,16 @@
 
   public static function getFromRow(array $row)
   {
-    if (!isset(self::$aclUserGroups[$key = serialize(array((int) $row[0], 
(int) $row[1]))]))
+    if (!isset(self::$aclUserGroups[$id = (int) $row[0]]))
     {
       $aclUserGroup = new QubitAclUserGroup;
       $aclUserGroup->new = false;
       $aclUserGroup->row = $row;
 
-      self::$aclUserGroups[$key] = $aclUserGroup;
+      self::$aclUserGroups[$id] = $aclUserGroup;
     }
 
-    return self::$aclUserGroups[$key];
+    return self::$aclUserGroups[$id];
   }
 
   public static function get(Criteria $criteria, array $options = array())
@@ -62,11 +64,10 @@
     return self::get($criteria, $options)->__get(0, array('defaultValue' => 
null));
   }
 
-  public static function getByUserIdAndGroupId($userId, $groupId, array 
$options = array())
+  public static function getById($id, array $options = array())
   {
     $criteria = new Criteria;
-    $criteria->add(QubitAclUserGroup::USER_ID, $userId);
-    $criteria->add(QubitAclUserGroup::GROUP_ID, $groupId);
+    $criteria->add(QubitAclUserGroup::ID, $id);
 
     if (1 == count($query = self::get($criteria, $options)))
     {
@@ -286,8 +287,7 @@
     }
 
     $criteria = new Criteria;
-    $criteria->add(QubitAclUserGroup::USER_ID, $this->userId);
-    $criteria->add(QubitAclUserGroup::GROUP_ID, $this->groupId);
+    $criteria->add(QubitAclUserGroup::ID, $this->id);
 
     call_user_func(array(get_class($this), 'addSelectColumns'), $criteria);
 
@@ -442,8 +442,7 @@
     $affectedRows = 0;
 
     $criteria = new Criteria;
-    $criteria->add(QubitAclUserGroup::USER_ID, $this->userId);
-    $criteria->add(QubitAclUserGroup::GROUP_ID, $this->groupId);
+    $criteria->add(QubitAclUserGroup::ID, $this->id);
 
     $affectedRows += self::doDelete($criteria, $connection);
 
@@ -455,23 +454,13 @@
        
        public function getPrimaryKey()
        {
-               $pks = array();
-
-               $pks[0] = $this->getuserId();
-
-               $pks[1] = $this->getgroupId();
-
-               return $pks;
+               return $this->getid();
        }
 
        
-       public function setPrimaryKey($keys)
+       public function setPrimaryKey($key)
        {
-
-               $this->setuserId($keys[0]);
-
-               $this->setgroupId($keys[1]);
-
+               $this->setid($key);
        }
 
   public static function addJoinuserCriteria(Criteria $criteria)

--~--~---------~--~----~------------~-------~--~----~
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.ca/group/qubit-commits?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to