diff options
author | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2009-11-09 18:53:12 +0000 |
---|---|---|
committer | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2009-11-09 18:53:12 +0000 |
commit | 8f40750ad7f7ad512fd816757f072c42fae20e66 (patch) | |
tree | 175905e0aaa657f33542ead952f80e6abe68a26e /app/models/project.rb | |
parent | cc684803bac964114319a39d52fd12fc84864a02 (diff) | |
download | redmine-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.rb | 11 |
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| |