Class: IssuePriority
- Inherits:
-
Enumeration
- Object
- ActiveRecord::Base
- Enumeration
- IssuePriority
- Defined in:
- app/models/issue_priority.rb
Overview
Redmine - project management software Copyright (C) 2006-2016 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.
Instance Method Summary collapse
- #css_classes ⇒ Object
- #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
Class Method Details
.clear_position_names ⇒ Object
Clears position_name for all priorities Called from migration 20121026003537_populate_enumerations_position_name
44 45 46 |
# File 'app/models/issue_priority.rb', line 44 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
50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
# File 'app/models/issue_priority.rb', line 50 def self.compute_position_names priorities = where(:active => true).sort_by(&:position) if priorities.any? default = priorities.detect(&:is_default?) || priorities[(priorities.size - 1) / 2] 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 |
Instance Method Details
#css_classes ⇒ Object
38 39 40 |
# File 'app/models/issue_priority.rb', line 38 def css_classes "priority-#{id} priority-#{position_name}" end |
#objects_count ⇒ Object
30 31 32 |
# File 'app/models/issue_priority.rb', line 30 def objects_count issues.count end |
#option_name ⇒ Object
26 27 28 |
# File 'app/models/issue_priority.rb', line 26 def option_name OptionName end |
#transfer_relations(to) ⇒ Object
34 35 36 |
# File 'app/models/issue_priority.rb', line 34 def transfer_relations(to) issues.update_all(:priority_id => to.id) end |