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
-~----------~----~----~----~------~----~------~--~---