Class: IssuePriority
- Inherits:
-
Enumeration
- Object
- ActiveRecord::Base
- Enumeration
- IssuePriority
- Defined in:
- app/models/issue_priority.rb
Overview
Redmine - project management software Copyright © 2006-2022 Jean-Philippe Lang
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
Constant Summary collapse
- OptionName =
:enumeration_issue_priorities
Class Method Summary collapse
-
.clear_position_names ⇒ Object
Clears position_name for all priorities Called from migration 20121026003537_populate_enumerations_position_name.
-
.compute_position_names ⇒ Object
Updates position_name for active priorities Called from migration 20121026003537_populate_enumerations_position_name.
- .default_or_middle ⇒ Object
Instance Method Summary collapse
- #css_classes ⇒ Object
- #high? ⇒ Boolean
- #low? ⇒ Boolean
- #objects_count ⇒ Object
- #option_name ⇒ Object
- #transfer_relations(to) ⇒ Object
Methods inherited from Enumeration
#<=>, #check_default, default, #destroy, #destroy_without_reassign, get_subclasses, #in_use?, #is_override?, overriding_change?, same_active_state?, same_custom_values?, #to_s
Methods included from Redmine::SubclassFactory
Class Method Details
.clear_position_names ⇒ Object
Clears position_name for all priorities Called from migration 20121026003537_populate_enumerations_position_name
51 52 53 |
# File 'app/models/issue_priority.rb', line 51 def self.clear_position_names update_all :position_name => nil end |
.compute_position_names ⇒ Object
Updates position_name for active priorities Called from migration 20121026003537_populate_enumerations_position_name
72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 |
# File 'app/models/issue_priority.rb', line 72 def self.compute_position_names priorities = active if priorities.any? default_position = default_or_middle.position priorities.each_with_index do |priority, index| name = case when priority.position == default_position "default" when priority.position < default_position index == 0 ? "lowest" : "low#{index+1}" else index == (priorities.size - 1) ? "highest" : "high#{priorities.size - index}" end where(:id => priority.id).update_all({:position_name => name}) end end end |
.default_or_middle ⇒ Object
55 56 57 58 59 60 |
# File 'app/models/issue_priority.rb', line 55 def self.default_or_middle default || begin priorities = active priorities[(priorities.size - 1) / 2] end end |
Instance Method Details
#css_classes ⇒ Object
45 46 47 |
# File 'app/models/issue_priority.rb', line 45 def css_classes "priority-#{id} priority-#{position_name}" end |
#high? ⇒ Boolean
62 63 64 |
# File 'app/models/issue_priority.rb', line 62 def high? position > self.class.default_or_middle.position end |
#low? ⇒ Boolean
66 67 68 |
# File 'app/models/issue_priority.rb', line 66 def low? position < self.class.default_or_middle.position end |
#objects_count ⇒ Object
37 38 39 |
# File 'app/models/issue_priority.rb', line 37 def objects_count issues.count end |
#option_name ⇒ Object
33 34 35 |
# File 'app/models/issue_priority.rb', line 33 def option_name OptionName end |
#transfer_relations(to) ⇒ Object
41 42 43 |
# File 'app/models/issue_priority.rb', line 41 def transfer_relations(to) issues.update_all(:priority_id => to.id) end |