diff options
author | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2011-03-30 17:16:25 +0000 |
---|---|---|
committer | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2011-03-30 17:16:25 +0000 |
commit | 8b39f62a4ce7852dc1fc5b65b307af643b9d0593 (patch) | |
tree | 000c56c11123ebcfd1ccd4a3f6a3d13887c023c0 /app/models/project.rb | |
parent | b12994e12ee3409d0a09558ba260a6bb2e5de13a (diff) | |
download | redmine-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.rb | 5 |
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 |