diff options
author | Eric Davis <edavis@littlestreamsoftware.com> | 2010-09-16 18:27:33 +0000 |
---|---|---|
committer | Eric Davis <edavis@littlestreamsoftware.com> | 2010-09-16 18:27:33 +0000 |
commit | 969bf2107b2ebcdb480cbb56f523ecb72643146d (patch) | |
tree | 07b0722156787256d9a511aaf70d4995dacf2a73 /app/controllers/versions_controller.rb | |
parent | bde8ab84f27426e425ba2d6a7e733571fcd5242e (diff) | |
download | redmine-969bf2107b2ebcdb480cbb56f523ecb72643146d.tar.gz redmine-969bf2107b2ebcdb480cbb56f523ecb72643146d.zip |
Refactor: split VersionsController#new into #new and #create
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4090 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'app/controllers/versions_controller.rb')
-rw-r--r-- | app/controllers/versions_controller.rb | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/app/controllers/versions_controller.rb b/app/controllers/versions_controller.rb index 96c240c50..331935d9b 100644 --- a/app/controllers/versions_controller.rb +++ b/app/controllers/versions_controller.rb @@ -18,9 +18,9 @@ class VersionsController < ApplicationController menu_item :roadmap model_object Version - before_filter :find_model_object, :except => [:index, :new, :close_completed] - before_filter :find_project_from_association, :except => [:index, :new, :close_completed] - before_filter :find_project, :only => [:index, :new, :close_completed] + before_filter :find_model_object, :except => [:index, :new, :create, :close_completed] + before_filter :find_project_from_association, :except => [:index, :new, :create, :close_completed] + before_filter :find_project, :only => [:index, :new, :create, :close_completed] before_filter :authorize helper :custom_fields @@ -63,6 +63,17 @@ class VersionsController < ApplicationController attributes.delete('sharing') unless attributes.nil? || @version.allowed_sharings.include?(attributes['sharing']) @version.attributes = attributes end + end + + def create + # TODO: refactor with code above in #new + @version = @project.versions.build + if params[:version] + attributes = params[:version].dup + attributes.delete('sharing') unless attributes.nil? || @version.allowed_sharings.include?(attributes['sharing']) + @version.attributes = attributes + end + if request.post? if @version.save respond_to do |format| @@ -79,7 +90,7 @@ class VersionsController < ApplicationController end else respond_to do |format| - format.html + format.html { render :action => 'new' } format.js do render(:update) {|page| page.alert(@version.errors.full_messages.join('\n')) } end |