diff app/models/member.rb @ 1517:dffacf8a6908 redmine-2.5

Update to Redmine SVN revision 13367 on 2.5-stable branch
author Chris Cannam
date Tue, 09 Sep 2014 09:29:00 +0100
parents e248c7af89ec
children
line wrap: on
line diff
--- a/app/models/member.rb	Tue Sep 09 09:28:31 2014 +0100
+++ b/app/models/member.rb	Tue Sep 09 09:29:00 2014 +0100
@@ -73,6 +73,18 @@
     member_roles.detect {|mr| mr.inherited_from}.nil?
   end
 
+  def destroy
+    if member_roles.reload.present?
+      # destroying the last role will destroy another instance
+      # of the same Member record, #super would then trigger callbacks twice
+      member_roles.destroy_all
+      @destroyed = true
+      freeze
+    else
+      super
+    end
+  end
+
   def include?(user)
     if principal.is_a?(Group)
       !user.nil? && user.groups.include?(principal)
@@ -84,7 +96,8 @@
   def set_issue_category_nil
     if user
       # remove category based auto assignments for this member
-      IssueCategory.update_all "assigned_to_id = NULL", ["project_id = ? AND assigned_to_id = ?", project.id, user.id]
+      IssueCategory.where(["project_id = ? AND assigned_to_id = ?", project.id, user.id]).
+        update_all("assigned_to_id = NULL")
     end
   end