Patch #28494 » 0002-Recalculate-issue-priority-position-names-if-default.patch
| app/models/issue_priority.rb | ||
|---|---|---|
| 19 | 19 |
has_many :issues, :foreign_key => 'priority_id' |
| 20 | 20 | |
| 21 | 21 |
after_destroy {|priority| priority.class.compute_position_names}
|
| 22 |
after_save {|priority| priority.class.compute_position_names if (priority.saved_change_to_position? && priority.position) || priority.saved_change_to_active?}
|
|
| 22 |
after_save {|priority| priority.class.compute_position_names if (priority.saved_change_to_position? && priority.position) || priority.saved_change_to_active? || priority.saved_change_to_is_default?}
|
|
| 23 | 23 | |
| 24 | 24 |
OptionName = :enumeration_issue_priorities |
| 25 | 25 | |
| test/unit/issue_priority_test.rb | ||
|---|---|---|
| 95 | 95 |
assert_equal 'highest', IssuePriority.active.order(:position).last.position_name |
| 96 | 96 |
end |
| 97 | 97 | |
| 98 |
def test_defaulting_a_priority_should_update_position_names |
|
| 99 |
prio = IssuePriority.first |
|
| 100 |
prio.is_default = true |
|
| 101 |
prio.save |
|
| 102 |
assert_equal %w(default high4 high3 high2 highest), IssuePriority.active.to_a.sort.map(&:position_name) |
|
| 103 |
end |
|
| 104 | ||
| 98 | 105 |
def test_destroying_a_priority_should_update_position_names |
| 99 | 106 |
IssuePriority.find_by_position_name('highest').destroy
|
| 100 | 107 |
assert_equal %w(lowest default high2 highest), IssuePriority.active.to_a.sort.map(&:position_name) |