From e0b67d773a6930ff92c828122f9fe541b3bd6deb Mon Sep 17 00:00:00 2001 From: Frédéric Guillot Date: Thu, 6 Mar 2014 21:47:16 -0500 Subject: Assign existing tasks to nobody when a user is removed --- models/user.php | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'models') diff --git a/models/user.php b/models/user.php index 2832a3fb..394cf742 100644 --- a/models/user.php +++ b/models/user.php @@ -63,7 +63,15 @@ class User extends Base public function remove($user_id) { - return $this->db->table(self::TABLE)->eq('id', $user_id)->remove(); + $this->db->startTransaction(); + + // All tasks assigned to this user will be unassigned + $this->db->table(Task::TABLE)->eq('owner_id', $user_id)->update(array('owner_id' => '')); + $this->db->table(self::TABLE)->eq('id', $user_id)->remove(); + + $this->db->closeTransaction(); + + return true; } public function updateSession(array $user = array()) -- cgit v1.2.3