summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorTim Almdal <tnalmdal@shaw.ca>2011-08-04 20:29:06 -0700
committerTim Almdal <tnalmdal@shaw.ca>2011-08-11 22:04:00 -0700
commit66a6986d37f79d82ef56b0d666d504e0895feaaa (patch)
tree5a5129a398f1172e92bb27cdf23bb8d2852c2bf6 /modules
parent3b8bd84629548ab7b2677324be4df52e57249a1b (diff)
Patch for ticket #1769. Remove the rows in groups_users when the user or the group is deleted.
Diffstat (limited to 'modules')
-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;
}