diff --git a/app/models/issue.rb b/app/models/issue.rb index 707c458..3a063c9 100644 --- a/app/models/issue.rb +++ b/app/models/issue.rb @@ -810,7 +810,7 @@ class Issue < ActiveRecord::Base # Users the issue can be assigned to def assignable_users users = project.assignable_users.to_a - users << author if author + users << author if (author && !author.anonymous?) users << assigned_to if assigned_to users.uniq.sort end diff --git a/app/models/issue_priority.rb b/app/models/issue_priority.rb index b925c3e..e5b2d47 100644 --- a/app/models/issue_priority.rb +++ b/app/models/issue_priority.rb @@ -19,7 +19,7 @@ class IssuePriority < Enumeration has_many :issues, :foreign_key => 'priority_id' after_destroy {|priority| priority.class.compute_position_names} - after_save {|priority| priority.class.compute_position_names if priority.position_changed? && priority.position} + after_save {|priority| priority.class.compute_position_names if (priority.position_changed? && priority.position) || priority.active_changed?} OptionName = :enumeration_issue_priorities diff --git a/test/unit/issue_priority_test.rb b/test/unit/issue_priority_test.rb index e9d44b6..afce368 100644 --- a/test/unit/issue_priority_test.rb +++ b/test/unit/issue_priority_test.rb @@ -99,6 +99,20 @@ class IssuePriorityTest < ActiveSupport::TestCase assert_equal %w(lowest default high4 high3 high2 highest), IssuePriority.active.to_a.sort.map(&:position_name) end + def test_moving_a_priority_should_update_position_names + prio = IssuePriority.first + prio.move_to = 'lowest' + prio.reload + assert_equal 'highest', prio.position_name + end + + def test_deactivating_a_priority_should_update_position_names + prio = IssuePriority.active.order(:position).last + prio.active = false + prio.save + assert_equal 'highest', IssuePriority.active.order(:position).last.position_name + end + def test_destroying_a_priority_should_update_position_names IssuePriority.find_by_position_name('highest').destroy assert_equal %w(lowest default high2 highest), IssuePriority.active.to_a.sort.map(&:position_name)