summaryrefslogtreecommitdiffstats
path: root/app/controllers/versions_controller.rb
diff options
context:
space:
mode:
authorEric Davis <edavis@littlestreamsoftware.com>2010-09-16 18:27:33 +0000
committerEric Davis <edavis@littlestreamsoftware.com>2010-09-16 18:27:33 +0000
commit969bf2107b2ebcdb480cbb56f523ecb72643146d (patch)
tree07b0722156787256d9a511aaf70d4995dacf2a73 /app/controllers/versions_controller.rb
parentbde8ab84f27426e425ba2d6a7e733571fcd5242e (diff)
downloadredmine-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.rb19
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