summaryrefslogtreecommitdiffstats
path: root/app/models/project.rb
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2011-03-30 17:16:25 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2011-03-30 17:16:25 +0000
commit8b39f62a4ce7852dc1fc5b65b307af643b9d0593 (patch)
tree000c56c11123ebcfd1ccd4a3f6a3d13887c023c0 /app/models/project.rb
parentb12994e12ee3409d0a09558ba260a6bb2e5de13a (diff)
downloadredmine-8b39f62a4ce7852dc1fc5b65b307af643b9d0593.tar.gz
redmine-8b39f62a4ce7852dc1fc5b65b307af643b9d0593.zip
Modules selection lost on project form after validation failure (#8012).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@5265 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'app/models/project.rb')
-rw-r--r--app/models/project.rb5
1 files changed, 1 insertions, 4 deletions
diff --git a/app/models/project.rb b/app/models/project.rb
index 0953d786f..cd36bc76c 100644
--- a/app/models/project.rb
+++ b/app/models/project.rb
@@ -517,10 +517,7 @@ class Project < ActiveRecord::Base
def enabled_module_names=(module_names)
if module_names && module_names.is_a?(Array)
module_names = module_names.collect(&:to_s).reject(&:blank?)
- # remove disabled modules
- enabled_modules.each {|mod| mod.destroy unless module_names.include?(mod.name)}
- # add new modules
- module_names.reject {|name| module_enabled?(name)}.each {|name| enabled_modules << EnabledModule.new(:name => name)}
+ self.enabled_modules = module_names.collect {|name| enabled_modules.detect {|mod| mod.name == name} || EnabledModule.new(:name => name)}
else
enabled_modules.clear
end