diff options
-rw-r--r-- | CHANGELOG | 1 | ||||
-rw-r--r-- | app/models/members/project_member.rb | 6 |
2 files changed, 6 insertions, 1 deletions
diff --git a/CHANGELOG b/CHANGELOG index 3e8b0a2af01..91038532e99 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,7 @@ Please view this file on the master branch, on stable branches it's out of date. v 8.9.0 (unreleased) + - Fix issue todo not remove when leave project !4150 (Long Nguyen) - Allow forking projects with restricted visibility level - Improve note validation to prevent errors when creating invalid note via API - Redesign navigation for project pages diff --git a/app/models/members/project_member.rb b/app/models/members/project_member.rb index 5c167db76b1..46955b430f3 100644 --- a/app/models/members/project_member.rb +++ b/app/models/members/project_member.rb @@ -14,7 +14,7 @@ class ProjectMember < Member scope :in_projects, ->(projects) { where(source_id: projects.pluck(:id)) } scope :with_user, ->(user) { where(user_id: user.id) } - before_destroy { user.todos.where(project_id: source_id).each(&:destroy) if user } + before_destroy :delete_member_todos class << self @@ -103,6 +103,10 @@ class ProjectMember < Member private + def delete_member_todos + user.todos.where(project_id: source_id).destroy_all if user + end + def send_invite notification_service.invite_project_member(self, @raw_invite_token) |