##// END OF EJS Templates
change "status" issue filter order from 1 to 0 (#12018)...
change "status" issue filter order from 1 to 0 (#12018) Order 1 is duplicate with "project" filter. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@10551 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r9806:7946f4a69668
r10340:eaf46c55120b
Show More
issue_status.rb
105 lines | 3.6 KiB | text/x-ruby | RubyLexer
Toshi MARUYAMA
remove trailing white-spaces from app/models/issue_status.rb....
r6384 # Redmine - project management software
Jean-Philippe Lang
Copyright update....
r9453 # Copyright (C) 2006-2012 Jean-Philippe Lang
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 #
# 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_status.rb....
r6384 #
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 # 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_status.rb....
r6384 #
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 # 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 IssueStatus < ActiveRecord::Base
Toshi MARUYAMA
remove trailing white-spaces from app/models/issue_status.rb....
r6384 before_destroy :check_integrity
Jean-Philippe Lang
Workflow enhancement: editable and required fields configurable by role, tracker and status (#703, #3521)....
r9794 has_many :workflows, :class_name => 'WorkflowTransition', :foreign_key => "old_status_id"
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 acts_as_list
Toshi MARUYAMA
remove trailing white-spaces from app/models/issue_status.rb....
r6384
Jean-Philippe Lang
Workflow enhancement: editable and required fields configurable by role, tracker and status (#703, #3521)....
r9794 before_destroy :delete_workflow_rules
Toshi MARUYAMA
Rails3: model: replace deprecated 'after_save' method at IssueStatus model...
r7316 after_save :update_default
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330
validates_presence_of :name
validates_uniqueness_of :name
Jean-Philippe Lang
Added several validates_length_of...
r590 validates_length_of :name, :maximum => 30
Jean-Philippe Lang
Allow blank value for IssueStatus#default_done_ratio....
r3043 validates_inclusion_of :default_done_ratio, :in => 0..100, :allow_nil => true
Toshi MARUYAMA
remove trailing white-spaces from app/models/issue_status.rb....
r6384
Jean-Philippe Lang
Adds a sorted scope to IssueStatus model....
r9806 scope :sorted, order("#{table_name}.position ASC")
Jean-Philippe Lang
Code cleanup....
r9798 scope :named, lambda {|arg| where(["LOWER(#{table_name}.name) = LOWER(?)", arg.to_s.strip])}
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330
Toshi MARUYAMA
Rails3: model: replace deprecated 'after_save' method at IssueStatus model...
r7316 def update_default
Jean-Philippe Lang
Code cleanup....
r9798 IssueStatus.update_all({:is_default => false}, ['id <> ?', id]) if self.is_default?
Toshi MARUYAMA
remove trailing white-spaces from app/models/issue_status.rb....
r6384 end
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 # Returns the default status for new issues
def self.default
Jean-Philippe Lang
Code cleanup....
r9798 where(:is_default => true).first
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 end
Toshi MARUYAMA
remove trailing white-spaces from app/models/issue_status.rb....
r6384
Eric Davis
Adds a Setting to control how an Issue's done_ratio is calculated:...
r3037 # Update all the +Issues+ setting their done_ratio to the value of their +IssueStatus+
def self.update_issue_done_ratios
if Issue.use_status_for_done_ratio?
Jean-Philippe Lang
Code cleanup....
r9798 IssueStatus.where("default_done_ratio >= 0").all.each do |status|
Issue.update_all({:done_ratio => status.default_done_ratio}, {:status_id => status.id})
Eric Davis
Adds a Setting to control how an Issue's done_ratio is calculated:...
r3037 end
end
return Issue.use_status_for_done_ratio?
end
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330
# Returns an array of all statuses the given role can switch to
Jean-Philippe Lang
Various code cleaning, mainly on User, Permission and IssueStatus models....
r411 # Uses association cache when called more than one time
Jean-Philippe Lang
Allow additional workflow transitions for issue author and assignee (#2732)....
r4775 def new_statuses_allowed_to(roles, tracker, author=false, assignee=false)
Jean-Philippe Lang
Allows multiple roles on the same project (#706). Prerequisite for user groups feature....
r2627 if roles && tracker
role_ids = roles.collect(&:id)
Jean-Philippe Lang
Allow additional workflow transitions for issue author and assignee (#2732)....
r4775 transitions = workflows.select do |w|
role_ids.include?(w.role_id) &&
Toshi MARUYAMA
remove trailing white-spaces from app/models/issue_status.rb....
r6384 w.tracker_id == tracker.id &&
Jean-Philippe Lang
Fixed: additional workflow transitions not available when set to both author and assignee (#8836)....
r6180 ((!w.author && !w.assignee) || (author && w.author) || (assignee && w.assignee))
Jean-Philippe Lang
Allow additional workflow transitions for issue author and assignee (#2732)....
r4775 end
Jean-Philippe Lang
Code cleanup....
r9798 transitions.map(&:new_status).compact.sort
Jean-Philippe Lang
Allows multiple roles on the same project (#706). Prerequisite for user groups feature....
r2627 else
[]
end
Jean-Philippe Lang
Various code cleaning, mainly on User, Permission and IssueStatus models....
r411 end
Toshi MARUYAMA
remove trailing white-spaces from app/models/issue_status.rb....
r6384
Jean-Philippe Lang
Various code cleaning, mainly on User, Permission and IssueStatus models....
r411 # Same thing as above but uses a database query
# More efficient than the previous method if called just once
Jean-Philippe Lang
Allow additional workflow transitions for issue author and assignee (#2732)....
r4775 def find_new_statuses_allowed_to(roles, tracker, author=false, assignee=false)
Jean-Philippe Lang
Fixed: additional workflow transitions not available when set to both author and assignee (#8836)....
r6180 if roles.present? && tracker
conditions = "(author = :false AND assignee = :false)"
conditions << " OR author = :true" if author
conditions << " OR assignee = :true" if assignee
Toshi MARUYAMA
remove trailing white-spaces from app/models/issue_status.rb....
r6384
Jean-Philippe Lang
Code cleanup....
r9798 workflows.
includes(:new_status).
where(["role_id IN (:role_ids) AND tracker_id = :tracker_id AND (#{conditions})",
Jean-Philippe Lang
Fixed: additional workflow transitions not available when set to both author and assignee (#8836)....
r6180 {:role_ids => roles.collect(&:id), :tracker_id => tracker.id, :true => true, :false => false}
Jean-Philippe Lang
Code cleanup....
r9798 ]).all.
map(&:new_status).compact.sort
Jean-Philippe Lang
Allows multiple roles on the same project (#706). Prerequisite for user groups feature....
r2627 else
[]
end
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 end
Jean-Philippe Lang
Added the ability to customize columns of a saved query....
r771
Jean-Philippe Lang
Merged IssuesController change_status and add_note actions....
r1030 def <=>(status)
position <=> status.position
end
Toshi MARUYAMA
remove trailing white-spaces from app/models/issue_status.rb....
r6384
Jean-Philippe Lang
Added the ability to customize columns of a saved query....
r771 def to_s; name end
Jean-Philippe Lang
Code cleanup....
r9798 private
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 def check_integrity
Jean-Philippe Lang
Code cleanup....
r9798 raise "Can't delete status" if Issue.where(:status_id => id).any?
Jean-Philippe Lang
Initial commit...
r2 end
Toshi MARUYAMA
remove trailing white-spaces from app/models/issue_status.rb....
r6384
Jean-Philippe Lang
Fixed: Deleting statuses doesn't delete all workflow entries (#5811)....
r3767 # Deletes associated workflows
Jean-Philippe Lang
Workflow enhancement: editable and required fields configurable by role, tracker and status (#703, #3521)....
r9794 def delete_workflow_rules
WorkflowRule.delete_all(["old_status_id = :id OR new_status_id = :id", {:id => id}])
Jean-Philippe Lang
Fixed: Deleting statuses doesn't delete all workflow entries (#5811)....
r3767 end
Jean-Philippe Lang
Initial commit...
r2 end