mirror of
https://github.com/meineerde/redmine.git
synced 2025-12-27 19:01:14 +00:00
Extract finding the default or "middle" issue priority into its own class method (#32628).
Patch by Jan Schulz-Hofen. git-svn-id: http://svn.redmine.org/redmine/trunk@19447 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
758a08fad9
commit
006b686499
@ -47,18 +47,25 @@ class IssuePriority < Enumeration
|
||||
update_all :position_name => nil
|
||||
end
|
||||
|
||||
def self.default_or_middle
|
||||
default || begin
|
||||
priorities = active
|
||||
priorities[(priorities.size - 1) / 2]
|
||||
end
|
||||
end
|
||||
|
||||
# Updates position_name for active priorities
|
||||
# Called from migration 20121026003537_populate_enumerations_position_name
|
||||
def self.compute_position_names
|
||||
priorities = active
|
||||
if priorities.any?
|
||||
default = priorities.detect(&:is_default?) || priorities[(priorities.size - 1) / 2]
|
||||
default_position = default_or_middle.position
|
||||
priorities.each_with_index do |priority, index|
|
||||
name =
|
||||
case
|
||||
when priority.position == default.position
|
||||
when priority.position == default_position
|
||||
"default"
|
||||
when priority.position < default.position
|
||||
when priority.position < default_position
|
||||
index == 0 ? "lowest" : "low#{index+1}"
|
||||
else
|
||||
index == (priorities.size - 1) ? "highest" : "high#{priorities.size - index}"
|
||||
|
||||
@ -39,6 +39,15 @@ class IssuePriorityTest < ActiveSupport::TestCase
|
||||
assert_nil IssuePriority.default
|
||||
end
|
||||
|
||||
def test_default_or_middle_should_return_the_default_priority
|
||||
assert_equal Enumeration.find_by_name('Normal'), IssuePriority.default_or_middle
|
||||
end
|
||||
|
||||
def test_default_or_middle_should_return_middle_when_no_default_priority
|
||||
IssuePriority.update_all :is_default => false
|
||||
assert_equal Enumeration.find_by_name('High'), IssuePriority.default_or_middle
|
||||
end
|
||||
|
||||
def test_should_be_an_enumeration
|
||||
assert IssuePriority.ancestors.include?(Enumeration)
|
||||
end
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user