]> source.dussan.org Git - redmine.git/commitdiff
Fixed an error when member's project is nil (#17486).
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Tue, 29 Jul 2014 17:49:53 +0000 (17:49 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Tue, 29 Jul 2014 17:49:53 +0000 (17:49 +0000)
git-svn-id: http://svn.redmine.org/redmine/trunk@13334 e93f8b46-1217-0410-a6f0-8f06a7374b81

app/models/member.rb
test/unit/member_test.rb

index 547fa9eaadca29bf583264cd049ddcff5938a37d..aa1d50cdfa365ae643f84c0c6e356ac87c3adc25 100644 (file)
@@ -94,9 +94,9 @@ class Member < ActiveRecord::Base
   end
 
   def set_issue_category_nil
-    if user
+    if user_id && project_id
       # remove category based auto assignments for this member
-      IssueCategory.where(["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
index 6ba9717c464aba9a4acdca0923f9b3e7113f1f48..124aa37197b058440428cd948754891f3d2b36ef 100644 (file)
@@ -94,6 +94,16 @@ class MemberTest < ActiveSupport::TestCase
     assert !member.save
   end
 
+  def test_set_issue_category_nil_should_handle_nil_values
+    m = Member.new
+    assert_nil m.user
+    assert_nil m.project
+
+    assert_nothing_raised do
+      m.set_issue_category_nil
+    end
+  end
+
   def test_destroy
     category1 = IssueCategory.find(1)
     assert_equal @jsmith.user.id, category1.assigned_to_id