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:
Go MAEDA
2020-01-21 04:08:29 +00:00
parent 758a08fad9
commit 006b686499
2 changed files with 19 additions and 3 deletions

View File

@@ -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}"