Author: david
Date: Wed Feb 16 15:43:01 2011
New Revision: 8985
Log:
Cascade delete slug rows when foreign-key related object is deleted
Modified:
trunk/config/schema.yml
trunk/data/sql/lib.model.schema.sql
trunk/lib/model/map/ObjectTableMap.php
trunk/lib/model/map/SlugTableMap.php
trunk/lib/model/map/UserTableMap.php
trunk/lib/model/om/BaseObject.php
trunk/lib/model/om/BaseUser.php
trunk/plugins/qbAclPlugin/lib/model/om/BaseAclGroup.php
trunk/plugins/qbAclPlugin/lib/model/om/BaseAclGroupI18n.php
trunk/plugins/qbAclPlugin/lib/model/om/BaseAclPermission.php
trunk/plugins/qbAclPlugin/lib/model/om/BaseAclUserGroup.php
Modified: trunk/config/schema.yml
==============================================================================
--- trunk/config/schema.yml Wed Feb 16 10:20:59 2011 (r8984)
+++ trunk/config/schema.yml Wed Feb 16 15:43:01 2011 (r8985)
@@ -340,7 +340,7 @@
value: longvarchar
slug:
- object_id: { type: integer, index: unique, required: true, foreignTable:
object, foreignReference: id }
+ object_id: { type: integer, index: unique, required: true, foreignTable:
object, foreignReference: id, onDelete: cascade }
slug: { index: unique, required: true }
static_page:
Modified: trunk/data/sql/lib.model.schema.sql
==============================================================================
--- trunk/data/sql/lib.model.schema.sql Wed Feb 16 10:20:59 2011 (r8984)
+++ trunk/data/sql/lib.model.schema.sql Wed Feb 16 15:43:01 2011 (r8985)
@@ -1209,6 +1209,7 @@
CONSTRAINT `slug_FK_1`
FOREIGN KEY (`object_id`)
REFERENCES `object` (`id`)
+ ON DELETE CASCADE
)Type=InnoDB;
#-----------------------------------------------------------------------------
Modified: trunk/lib/model/map/ObjectTableMap.php
==============================================================================
--- trunk/lib/model/map/ObjectTableMap.php Wed Feb 16 10:20:59 2011
(r8984)
+++ trunk/lib/model/map/ObjectTableMap.php Wed Feb 16 15:43:01 2011
(r8985)
@@ -49,7 +49,6 @@
*/
public function buildRelations()
{
- $this->addRelation('aclPermission', 'aclPermission',
RelationMap::ONE_TO_MANY, array('id' => 'object_id', ), 'CASCADE', null);
$this->addRelation('actor', 'actor', RelationMap::ONE_TO_ONE, array('id'
=> 'id', ), 'CASCADE', null);
$this->addRelation('digitalObject', 'digitalObject',
RelationMap::ONE_TO_ONE, array('id' => 'id', ), 'CASCADE', null);
$this->addRelation('event', 'event', RelationMap::ONE_TO_ONE, array('id'
=> 'id', ), 'CASCADE', null);
@@ -67,11 +66,12 @@
$this->addRelation('relationRelatedByobjectId', 'relation',
RelationMap::ONE_TO_MANY, array('id' => 'object_id', ), null, null);
$this->addRelation('rights', 'rights', RelationMap::ONE_TO_MANY,
array('id' => 'object_id', ), 'CASCADE', null);
$this->addRelation('rightsActorRelation', 'rightsActorRelation',
RelationMap::ONE_TO_ONE, array('id' => 'id', ), 'CASCADE', null);
- $this->addRelation('slug', 'slug', RelationMap::ONE_TO_MANY, array('id' =>
'object_id', ), null, null);
+ $this->addRelation('slug', 'slug', RelationMap::ONE_TO_MANY, array('id' =>
'object_id', ), 'CASCADE', null);
$this->addRelation('staticPage', 'staticPage', RelationMap::ONE_TO_ONE,
array('id' => 'id', ), 'CASCADE', null);
$this->addRelation('status', 'status', RelationMap::ONE_TO_MANY,
array('id' => 'object_id', ), 'CASCADE', null);
$this->addRelation('taxonomy', 'taxonomy', RelationMap::ONE_TO_ONE,
array('id' => 'id', ), 'CASCADE', null);
$this->addRelation('term', 'term', RelationMap::ONE_TO_ONE, array('id' =>
'id', ), 'CASCADE', null);
+ $this->addRelation('aclPermission', 'aclPermission',
RelationMap::ONE_TO_MANY, array('id' => 'object_id', ), 'CASCADE', null);
} // buildRelations()
} // ObjectTableMap
Modified: trunk/lib/model/map/SlugTableMap.php
==============================================================================
--- trunk/lib/model/map/SlugTableMap.php Wed Feb 16 10:20:59 2011
(r8984)
+++ trunk/lib/model/map/SlugTableMap.php Wed Feb 16 15:43:01 2011
(r8985)
@@ -48,7 +48,7 @@
*/
public function buildRelations()
{
- $this->addRelation('object', 'object', RelationMap::MANY_TO_ONE,
array('object_id' => 'id', ), null, null);
+ $this->addRelation('object', 'object', RelationMap::MANY_TO_ONE,
array('object_id' => 'id', ), 'CASCADE', null);
} // buildRelations()
} // SlugTableMap
Modified: trunk/lib/model/map/UserTableMap.php
==============================================================================
--- trunk/lib/model/map/UserTableMap.php Wed Feb 16 10:20:59 2011
(r8984)
+++ trunk/lib/model/map/UserTableMap.php Wed Feb 16 15:43:01 2011
(r8985)
@@ -50,10 +50,10 @@
public function buildRelations()
{
$this->addRelation('actor', 'actor', RelationMap::MANY_TO_ONE, array('id'
=> 'id', ), 'CASCADE', null);
- $this->addRelation('aclPermission', 'aclPermission',
RelationMap::ONE_TO_MANY, array('id' => 'user_id', ), 'CASCADE', null);
- $this->addRelation('aclUserGroup', 'aclUserGroup',
RelationMap::ONE_TO_MANY, array('id' => 'user_id', ), 'CASCADE', null);
$this->addRelation('note', 'note', RelationMap::ONE_TO_MANY, array('id' =>
'user_id', ), null, null);
$this->addRelation('systemEvent', 'systemEvent', RelationMap::ONE_TO_MANY,
array('id' => 'user_id', ), null, null);
+ $this->addRelation('aclPermission', 'aclPermission',
RelationMap::ONE_TO_MANY, array('id' => 'user_id', ), 'CASCADE', null);
+ $this->addRelation('aclUserGroup', 'aclUserGroup',
RelationMap::ONE_TO_MANY, array('id' => 'user_id', ), 'CASCADE', null);
} // buildRelations()
} // UserTableMap
Modified: trunk/lib/model/om/BaseObject.php
==============================================================================
--- trunk/lib/model/om/BaseObject.php Wed Feb 16 10:20:59 2011 (r8984)
+++ trunk/lib/model/om/BaseObject.php Wed Feb 16 15:43:01 2011 (r8985)
@@ -180,11 +180,6 @@
}
}
- if ('aclPermissions' == $name)
- {
- return true;
- }
-
if ('notes' == $name)
{
return true;
@@ -230,6 +225,11 @@
return true;
}
+ if ('aclPermissions' == $name)
+ {
+ return true;
+ }
+
throw new sfException("Unknown record property \"$name\" on
\"".get_class($this).'"');
}
@@ -271,23 +271,6 @@
}
}
- if ('aclPermissions' == $name)
- {
- if (!isset($this->refFkValues['aclPermissions']))
- {
- if (!isset($this->id))
- {
- $this->refFkValues['aclPermissions'] = QubitQuery::create();
- }
- else
- {
- $this->refFkValues['aclPermissions'] =
self::getaclPermissionsById($this->id, array('self' => $this) + $options);
- }
- }
-
- return $this->refFkValues['aclPermissions'];
- }
-
if ('notes' == $name)
{
if (!isset($this->refFkValues['notes']))
@@ -441,6 +424,23 @@
return $this->refFkValues['statuss'];
}
+ if ('aclPermissions' == $name)
+ {
+ if (!isset($this->refFkValues['aclPermissions']))
+ {
+ if (!isset($this->id))
+ {
+ $this->refFkValues['aclPermissions'] = QubitQuery::create();
+ }
+ else
+ {
+ $this->refFkValues['aclPermissions'] =
self::getaclPermissionsById($this->id, array('self' => $this) + $options);
+ }
+ }
+
+ return $this->refFkValues['aclPermissions'];
+ }
+
throw new sfException("Unknown record property \"$name\" on
\"".get_class($this).'"');
}
@@ -739,26 +739,6 @@
$this->setid($key);
}
- public static function addaclPermissionsCriteriaById(Criteria $criteria, $id)
- {
- $criteria->add(QubitAclPermission::OBJECT_ID, $id);
-
- return $criteria;
- }
-
- public static function getaclPermissionsById($id, array $options = array())
- {
- $criteria = new Criteria;
- self::addaclPermissionsCriteriaById($criteria, $id);
-
- return QubitAclPermission::get($criteria, $options);
- }
-
- public function addaclPermissionsCriteria(Criteria $criteria)
- {
- return self::addaclPermissionsCriteriaById($criteria, $this->id);
- }
-
public static function addnotesCriteriaById(Criteria $criteria, $id)
{
$criteria->add(QubitNote::OBJECT_ID, $id);
@@ -939,6 +919,26 @@
return self::addstatussCriteriaById($criteria, $this->id);
}
+ public static function addaclPermissionsCriteriaById(Criteria $criteria, $id)
+ {
+ $criteria->add(QubitAclPermission::OBJECT_ID, $id);
+
+ return $criteria;
+ }
+
+ public static function getaclPermissionsById($id, array $options = array())
+ {
+ $criteria = new Criteria;
+ self::addaclPermissionsCriteriaById($criteria, $id);
+
+ return QubitAclPermission::get($criteria, $options);
+ }
+
+ public function addaclPermissionsCriteria(Criteria $criteria)
+ {
+ return self::addaclPermissionsCriteriaById($criteria, $this->id);
+ }
+
public function __call($name, $args)
{
if ('get' == substr($name, 0, 3) || 'set' == substr($name, 0, 3))
Modified: trunk/lib/model/om/BaseUser.php
==============================================================================
--- trunk/lib/model/om/BaseUser.php Wed Feb 16 10:20:59 2011 (r8984)
+++ trunk/lib/model/om/BaseUser.php Wed Feb 16 15:43:01 2011 (r8985)
@@ -82,22 +82,22 @@
{
}
- if ('aclPermissions' == $name)
+ if ('notes' == $name)
{
return true;
}
- if ('aclUserGroups' == $name)
+ if ('systemEvents' == $name)
{
return true;
}
- if ('notes' == $name)
+ if ('aclPermissions' == $name)
{
return true;
}
- if ('systemEvents' == $name)
+ if ('aclUserGroups' == $name)
{
return true;
}
@@ -123,154 +123,154 @@
{
}
- if ('aclPermissions' == $name)
+ if ('notes' == $name)
{
- if (!isset($this->refFkValues['aclPermissions']))
+ if (!isset($this->refFkValues['notes']))
{
if (!isset($this->id))
{
- $this->refFkValues['aclPermissions'] = QubitQuery::create();
+ $this->refFkValues['notes'] = QubitQuery::create();
}
else
{
- $this->refFkValues['aclPermissions'] =
self::getaclPermissionsById($this->id, array('self' => $this) + $options);
+ $this->refFkValues['notes'] = self::getnotesById($this->id,
array('self' => $this) + $options);
}
}
- return $this->refFkValues['aclPermissions'];
+ return $this->refFkValues['notes'];
}
- if ('aclUserGroups' == $name)
+ if ('systemEvents' == $name)
{
- if (!isset($this->refFkValues['aclUserGroups']))
+ if (!isset($this->refFkValues['systemEvents']))
{
if (!isset($this->id))
{
- $this->refFkValues['aclUserGroups'] = QubitQuery::create();
+ $this->refFkValues['systemEvents'] = QubitQuery::create();
}
else
{
- $this->refFkValues['aclUserGroups'] =
self::getaclUserGroupsById($this->id, array('self' => $this) + $options);
+ $this->refFkValues['systemEvents'] =
self::getsystemEventsById($this->id, array('self' => $this) + $options);
}
}
- return $this->refFkValues['aclUserGroups'];
+ return $this->refFkValues['systemEvents'];
}
- if ('notes' == $name)
+ if ('aclPermissions' == $name)
{
- if (!isset($this->refFkValues['notes']))
+ if (!isset($this->refFkValues['aclPermissions']))
{
if (!isset($this->id))
{
- $this->refFkValues['notes'] = QubitQuery::create();
+ $this->refFkValues['aclPermissions'] = QubitQuery::create();
}
else
{
- $this->refFkValues['notes'] = self::getnotesById($this->id,
array('self' => $this) + $options);
+ $this->refFkValues['aclPermissions'] =
self::getaclPermissionsById($this->id, array('self' => $this) + $options);
}
}
- return $this->refFkValues['notes'];
+ return $this->refFkValues['aclPermissions'];
}
- if ('systemEvents' == $name)
+ if ('aclUserGroups' == $name)
{
- if (!isset($this->refFkValues['systemEvents']))
+ if (!isset($this->refFkValues['aclUserGroups']))
{
if (!isset($this->id))
{
- $this->refFkValues['systemEvents'] = QubitQuery::create();
+ $this->refFkValues['aclUserGroups'] = QubitQuery::create();
}
else
{
- $this->refFkValues['systemEvents'] =
self::getsystemEventsById($this->id, array('self' => $this) + $options);
+ $this->refFkValues['aclUserGroups'] =
self::getaclUserGroupsById($this->id, array('self' => $this) + $options);
}
}
- return $this->refFkValues['systemEvents'];
+ return $this->refFkValues['aclUserGroups'];
}
throw new sfException("Unknown record property \"$name\" on
\"".get_class($this).'"');
}
- public static function addaclPermissionsCriteriaById(Criteria $criteria, $id)
+ public static function addnotesCriteriaById(Criteria $criteria, $id)
{
- $criteria->add(QubitAclPermission::USER_ID, $id);
+ $criteria->add(QubitNote::USER_ID, $id);
return $criteria;
}
- public static function getaclPermissionsById($id, array $options = array())
+ public static function getnotesById($id, array $options = array())
{
$criteria = new Criteria;
- self::addaclPermissionsCriteriaById($criteria, $id);
+ self::addnotesCriteriaById($criteria, $id);
- return QubitAclPermission::get($criteria, $options);
+ return QubitNote::get($criteria, $options);
}
- public function addaclPermissionsCriteria(Criteria $criteria)
+ public function addnotesCriteria(Criteria $criteria)
{
- return self::addaclPermissionsCriteriaById($criteria, $this->id);
+ return self::addnotesCriteriaById($criteria, $this->id);
}
- public static function addaclUserGroupsCriteriaById(Criteria $criteria, $id)
+ public static function addsystemEventsCriteriaById(Criteria $criteria, $id)
{
- $criteria->add(QubitAclUserGroup::USER_ID, $id);
+ $criteria->add(QubitSystemEvent::USER_ID, $id);
return $criteria;
}
- public static function getaclUserGroupsById($id, array $options = array())
+ public static function getsystemEventsById($id, array $options = array())
{
$criteria = new Criteria;
- self::addaclUserGroupsCriteriaById($criteria, $id);
+ self::addsystemEventsCriteriaById($criteria, $id);
- return QubitAclUserGroup::get($criteria, $options);
+ return QubitSystemEvent::get($criteria, $options);
}
- public function addaclUserGroupsCriteria(Criteria $criteria)
+ public function addsystemEventsCriteria(Criteria $criteria)
{
- return self::addaclUserGroupsCriteriaById($criteria, $this->id);
+ return self::addsystemEventsCriteriaById($criteria, $this->id);
}
- public static function addnotesCriteriaById(Criteria $criteria, $id)
+ public static function addaclPermissionsCriteriaById(Criteria $criteria, $id)
{
- $criteria->add(QubitNote::USER_ID, $id);
+ $criteria->add(QubitAclPermission::USER_ID, $id);
return $criteria;
}
- public static function getnotesById($id, array $options = array())
+ public static function getaclPermissionsById($id, array $options = array())
{
$criteria = new Criteria;
- self::addnotesCriteriaById($criteria, $id);
+ self::addaclPermissionsCriteriaById($criteria, $id);
- return QubitNote::get($criteria, $options);
+ return QubitAclPermission::get($criteria, $options);
}
- public function addnotesCriteria(Criteria $criteria)
+ public function addaclPermissionsCriteria(Criteria $criteria)
{
- return self::addnotesCriteriaById($criteria, $this->id);
+ return self::addaclPermissionsCriteriaById($criteria, $this->id);
}
- public static function addsystemEventsCriteriaById(Criteria $criteria, $id)
+ public static function addaclUserGroupsCriteriaById(Criteria $criteria, $id)
{
- $criteria->add(QubitSystemEvent::USER_ID, $id);
+ $criteria->add(QubitAclUserGroup::USER_ID, $id);
return $criteria;
}
- public static function getsystemEventsById($id, array $options = array())
+ public static function getaclUserGroupsById($id, array $options = array())
{
$criteria = new Criteria;
- self::addsystemEventsCriteriaById($criteria, $id);
+ self::addaclUserGroupsCriteriaById($criteria, $id);
- return QubitSystemEvent::get($criteria, $options);
+ return QubitAclUserGroup::get($criteria, $options);
}
- public function addsystemEventsCriteria(Criteria $criteria)
+ public function addaclUserGroupsCriteria(Criteria $criteria)
{
- return self::addsystemEventsCriteriaById($criteria, $this->id);
+ return self::addaclUserGroupsCriteriaById($criteria, $this->id);
}
}
Modified: trunk/plugins/qbAclPlugin/lib/model/om/BaseAclGroup.php
==============================================================================
--- trunk/plugins/qbAclPlugin/lib/model/om/BaseAclGroup.php Wed Feb 16
10:20:59 2011 (r8984)
+++ trunk/plugins/qbAclPlugin/lib/model/om/BaseAclGroup.php Wed Feb 16
15:43:01 2011 (r8985)
@@ -636,7 +636,7 @@
if ($this->tables[0] == $table)
{
$columns = $table->getPrimaryKeyColumns();
- $this->values[$columns[0]->getPhpName()] = $id;
+ $this->values[$columns[0]->getPhpName()] =
$this->keys[$columns[0]->getPhpName()] = $id;
}
}
}
Modified: trunk/plugins/qbAclPlugin/lib/model/om/BaseAclGroupI18n.php
==============================================================================
--- trunk/plugins/qbAclPlugin/lib/model/om/BaseAclGroupI18n.php Wed Feb 16
10:20:59 2011 (r8984)
+++ trunk/plugins/qbAclPlugin/lib/model/om/BaseAclGroupI18n.php Wed Feb 16
15:43:01 2011 (r8985)
@@ -424,7 +424,7 @@
if ($this->tables[0] == $table)
{
$columns = $table->getPrimaryKeyColumns();
- $this->values[$columns[0]->getPhpName()] = $id;
+ $this->values[$columns[0]->getPhpName()] =
$this->keys[$columns[0]->getPhpName()] = $id;
}
}
}
Modified: trunk/plugins/qbAclPlugin/lib/model/om/BaseAclPermission.php
==============================================================================
--- trunk/plugins/qbAclPlugin/lib/model/om/BaseAclPermission.php Wed Feb
16 10:20:59 2011 (r8984)
+++ trunk/plugins/qbAclPlugin/lib/model/om/BaseAclPermission.php Wed Feb
16 15:43:01 2011 (r8985)
@@ -435,7 +435,7 @@
if ($this->tables[0] == $table)
{
$columns = $table->getPrimaryKeyColumns();
- $this->values[$columns[0]->getPhpName()] = $id;
+ $this->values[$columns[0]->getPhpName()] =
$this->keys[$columns[0]->getPhpName()] = $id;
}
}
}
Modified: trunk/plugins/qbAclPlugin/lib/model/om/BaseAclUserGroup.php
==============================================================================
--- trunk/plugins/qbAclPlugin/lib/model/om/BaseAclUserGroup.php Wed Feb 16
10:20:59 2011 (r8984)
+++ trunk/plugins/qbAclPlugin/lib/model/om/BaseAclUserGroup.php Wed Feb 16
15:43:01 2011 (r8985)
@@ -421,7 +421,7 @@
if ($this->tables[0] == $table)
{
$columns = $table->getPrimaryKeyColumns();
- $this->values[$columns[0]->getPhpName()] = $id;
+ $this->values[$columns[0]->getPhpName()] =
$this->keys[$columns[0]->getPhpName()] = $id;
}
}
}
--
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.