summaryrefslogtreecommitdiff
path: root/modules/user
diff options
context:
space:
mode:
authorTim Almdal <tnalmdal@shaw.ca>2011-08-04 20:29:06 -0700
committerTim Almdal <tnalmdal@shaw.ca>2011-08-04 20:29:06 -0700
commit11c76572f0875e69f513e236a4c65e2d103d56c4 (patch)
tree30514e9212dd9f7acf40f544bbed5184feccf211 /modules/user
parent7f8056b593d04a9abd070399c0d4d176c650a309 (diff)
Patch for ticket #1769. Remove the rows in groups_users when the user or the group is deleted.
Diffstat (limited to 'modules/user')
-rw-r--r--modules/user/models/group.php6
-rw-r--r--modules/user/models/user.php6
2 files changed, 12 insertions, 0 deletions
diff --git a/modules/user/models/group.php b/modules/user/models/group.php
index 4409dcb8..46642203 100644
--- a/modules/user/models/group.php
+++ b/modules/user/models/group.php
@@ -28,6 +28,12 @@ class Group_Model_Core extends ORM implements Group_Definition {
$old = clone $this;
module::event("group_before_delete", $this);
parent::delete($id);
+
+ db::build()
+ ->delete("groups_users")
+ ->where("group_id", "=", empty($id) ? $old->id : $id)
+ ->execute();
+
module::event("group_deleted", $old);
$this->users_cache = null;
}
diff --git a/modules/user/models/user.php b/modules/user/models/user.php
index a8a3a0e7..8fe0a87b 100644
--- a/modules/user/models/user.php
+++ b/modules/user/models/user.php
@@ -43,6 +43,12 @@ class User_Model_Core extends ORM implements User_Definition {
$old = clone $this;
module::event("user_before_delete", $this);
parent::delete($id);
+
+ db::build()
+ ->delete("groups_users")
+ ->where("user_id", "=", empty($id) ? $old->id : $id)
+ ->execute();
+
module::event("user_deleted", $old);
$this->groups_cache = null;
}