From 006b686499a469fcafbf34bd910332f246c75b48 Mon Sep 17 00:00:00 2001 From: Go MAEDA Date: Tue, 21 Jan 2020 04:08:29 +0000 Subject: 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 --- app/models/issue_priority.rb | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'app') diff --git a/app/models/issue_priority.rb b/app/models/issue_priority.rb index 05be79dd1..8326b8ffa 100644 --- a/app/models/issue_priority.rb +++ b/app/models/issue_priority.rb @@ -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}" -- cgit v1.2.3