##// END OF EJS Templates
Speeds up rendering of the project list for users who belong to hundreds of projects....
Speeds up rendering of the project list for users who belong to hundreds of projects. git-svn-id: http://svn.redmine.org/redmine/trunk@16123 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r14856:cda9c63d9c21
r15741:f8df935dcada
Show More
issue_priority.rb
68 lines | 2.3 KiB | text/x-ruby | RubyLexer
/ app / models / issue_priority.rb
Toshi MARUYAMA
remove trailing white-spaces from app/models/issue_priority.rb....
r6733 # Redmine - project management software
Jean-Philippe Lang
Updates copyright for 2016....
r14856 # Copyright (C) 2006-2016 Jean-Philippe Lang
Eric Davis
Changed Enumerations to use a Single Table Inheritance...
r2677 #
# 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.
Toshi MARUYAMA
remove trailing white-spaces from app/models/issue_priority.rb....
r6733 #
Eric Davis
Changed Enumerations to use a Single Table Inheritance...
r2677 # 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.
Toshi MARUYAMA
remove trailing white-spaces from app/models/issue_priority.rb....
r6733 #
Eric Davis
Changed Enumerations to use a Single Table Inheritance...
r2677 # 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.
class IssuePriority < Enumeration
has_many :issues, :foreign_key => 'priority_id'
Jean-Philippe Lang
Adds a textual css class for issue priorities (#12216)....
r10508 after_destroy {|priority| priority.class.compute_position_names}
Jean-Philippe Lang
IssuePriority.position_name not recalculated every time it should (#21504)....
r14606 after_save {|priority| priority.class.compute_position_names if (priority.position_changed? && priority.position) || priority.active_changed?}
Jean-Philippe Lang
Adds a textual css class for issue priorities (#12216)....
r10508
Eric Davis
Changed Enumerations to use a Single Table Inheritance...
r2677 OptionName = :enumeration_issue_priorities
def option_name
OptionName
end
def objects_count
issues.count
end
def transfer_relations(to)
Jean-Philippe Lang
Code cleanup, removed raw SQL....
r13140 issues.update_all(:priority_id => to.id)
Eric Davis
Changed Enumerations to use a Single Table Inheritance...
r2677 end
Jean-Philippe Lang
Adds a textual css class for issue priorities (#12216)....
r10508
def css_classes
"priority-#{id} priority-#{position_name}"
end
# Clears position_name for all priorities
# Called from migration 20121026003537_populate_enumerations_position_name
def self.clear_position_names
update_all :position_name => nil
end
# Updates position_name for active priorities
# Called from migration 20121026003537_populate_enumerations_position_name
def self.compute_position_names
Toshi MARUYAMA
remove unneeded Relation#all from IssuePriority model...
r12447 priorities = where(:active => true).sort_by(&:position)
Jean-Philippe Lang
Adds a textual css class for issue priorities (#12216)....
r10508 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
Toshi MARUYAMA
Rails4: replace deprecated Relation#update_all at IssuePriority model...
r12214 where(:id => priority.id).update_all({:position_name => name})
Jean-Philippe Lang
Adds a textual css class for issue priorities (#12216)....
r10508 end
end
end
Eric Davis
Changed Enumerations to use a Single Table Inheritance...
r2677 end