summaryrefslogtreecommitdiffstats
path: root/app/models/project.rb
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2009-11-09 18:53:12 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2009-11-09 18:53:12 +0000
commit8f40750ad7f7ad512fd816757f072c42fae20e66 (patch)
tree175905e0aaa657f33542ead952f80e6abe68a26e /app/models/project.rb
parentcc684803bac964114319a39d52fd12fc84864a02 (diff)
downloadredmine-8f40750ad7f7ad512fd816757f072c42fae20e66.tar.gz
redmine-8f40750ad7f7ad512fd816757f072c42fae20e66.zip
Adds a link to automatically close completed versions in project settings (#1245).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3023 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'app/models/project.rb')
-rw-r--r--app/models/project.rb11
1 files changed, 11 insertions, 0 deletions
diff --git a/app/models/project.rb b/app/models/project.rb
index 00aa5df6c..b97d365e5 100644
--- a/app/models/project.rb
+++ b/app/models/project.rb
@@ -304,6 +304,17 @@ class Project < ActiveRecord::Base
:order => "#{Tracker.table_name}.position")
end
+ # Closes open and locked project versions that are completed
+ def close_completed_versions
+ Version.transaction do
+ versions.find(:all, :conditions => {:status => %w(open locked)}).each do |version|
+ if version.completed?
+ version.update_attribute(:status, 'closed')
+ end
+ end
+ end
+ end
+
# Returns a hash of project users grouped by role
def users_by_role
members.find(:all, :include => [:user, :roles]).inject({}) do |h, m|