Mercurial > hg > soundsoftware-site
comparison app/models/issue_category.rb @ 1295:622f24f53b42 redmine-2.3
Update to Redmine SVN revision 11972 on 2.3-stable branch
author | Chris Cannam |
---|---|
date | Fri, 14 Jun 2013 09:02:21 +0100 |
parents | 433d4f72a19b |
children | e248c7af89ec |
comparison
equal
deleted
inserted
replaced
1294:3e4c3460b6ca | 1295:622f24f53b42 |
---|---|
1 # Redmine - project management software | 1 # Redmine - project management software |
2 # Copyright (C) 2006-2012 Jean-Philippe Lang | 2 # Copyright (C) 2006-2013 Jean-Philippe Lang |
3 # | 3 # |
4 # This program is free software; you can redistribute it and/or | 4 # This program is free software; you can redistribute it and/or |
5 # modify it under the terms of the GNU General Public License | 5 # modify it under the terms of the GNU General Public License |
6 # as published by the Free Software Foundation; either version 2 | 6 # as published by the Free Software Foundation; either version 2 |
7 # of the License, or (at your option) any later version. | 7 # of the License, or (at your option) any later version. |
22 has_many :issues, :foreign_key => 'category_id', :dependent => :nullify | 22 has_many :issues, :foreign_key => 'category_id', :dependent => :nullify |
23 | 23 |
24 validates_presence_of :name | 24 validates_presence_of :name |
25 validates_uniqueness_of :name, :scope => [:project_id] | 25 validates_uniqueness_of :name, :scope => [:project_id] |
26 validates_length_of :name, :maximum => 30 | 26 validates_length_of :name, :maximum => 30 |
27 | 27 |
28 safe_attributes 'name', 'assigned_to_id' | 28 safe_attributes 'name', 'assigned_to_id' |
29 | 29 |
30 scope :named, lambda {|arg| where("LOWER(#{table_name}.name) = LOWER(?)", arg.to_s.strip)} | 30 scope :named, lambda {|arg| where("LOWER(#{table_name}.name) = LOWER(?)", arg.to_s.strip)} |
31 | 31 |
32 alias :destroy_without_reassign :destroy | 32 alias :destroy_without_reassign :destroy |
33 | 33 |
34 # Destroy the category | 34 # Destroy the category |
35 # If a category is specified, issues are reassigned to this category | 35 # If a category is specified, issues are reassigned to this category |
36 def destroy(reassign_to = nil) | 36 def destroy(reassign_to = nil) |
37 if reassign_to && reassign_to.is_a?(IssueCategory) && reassign_to.project == self.project | 37 if reassign_to && reassign_to.is_a?(IssueCategory) && reassign_to.project == self.project |
38 Issue.update_all("category_id = #{reassign_to.id}", "category_id = #{id}") | 38 Issue.update_all({:category_id => reassign_to.id}, {:category_id => id}) |
39 end | 39 end |
40 destroy_without_reassign | 40 destroy_without_reassign |
41 end | 41 end |
42 | 42 |
43 def <=>(category) | 43 def <=>(category) |