]> source.dussan.org Git - redmine.git/commitdiff
Adds a 'Create and continue' button on project form.
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Thu, 21 Jul 2011 15:51:58 +0000 (15:51 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Thu, 21 Jul 2011 15:51:58 +0000 (15:51 +0000)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@6303 e93f8b46-1217-0410-a6f0-8f06a7374b81

app/controllers/projects_controller.rb
app/views/projects/new.html.erb
test/functional/projects_controller_test.rb

index 4b750dc0e3719dc3a8070a24317ed093674729eb..c8f26a96ce70d6994ad242c6ef916866dd20ea92 100644 (file)
@@ -87,7 +87,10 @@ class ProjectsController < ApplicationController
       respond_to do |format|
         format.html { 
           flash[:notice] = l(:notice_successful_create)
-          redirect_to :controller => 'projects', :action => 'settings', :id => @project
+          redirect_to(params[:continue] ?
+            {:controller => 'projects', :action => 'new', :project => {:parent_id => @project.parent_id}.reject {|k,v| v.nil?}} :
+            {:controller => 'projects', :action => 'settings', :id => @project}
+          )
         }
         format.api  { render :action => 'show', :status => :created, :location => url_for(:controller => 'projects', :action => 'show', :id => @project.id) }
       end
index 2642241bf91b6a70b4abc93b7f5231a0274cd1c2..a10cf15a9ae89a55fcc185a80bc6a2d7e7aeebbe 100644 (file)
@@ -2,6 +2,7 @@
 
 <% labelled_tabular_form_for :project, @project, :url => { :action => "create" } do |f| %>
 <%= render :partial => 'form', :locals => { :f => f } %>
-<%= submit_tag l(:button_save) %>
+<%= submit_tag l(:button_create) %>
+<%= submit_tag l(:button_create_and_continue), :name => 'continue' %>
 <%= javascript_tag "Form.Element.focus('project_name');" %>
 <% end %>
index bc0de15a09a776b8aabd2e0001f7dada07ceb300..bdff70c223ae9ef5c7c465bc71b04df5fc4544ae 100644 (file)
@@ -186,6 +186,13 @@ class ProjectsControllerTest < ActionController::TestCase
         assert_kind_of Project, project
         assert_equal Project.find(1), project.parent
       end
+      
+      should "continue" do
+        assert_difference 'Project.count' do
+          post :create, :project => {:name => "blog", :identifier => "blog"}, :continue => 'Create and continue'
+        end
+        assert_redirected_to '/projects/new?'
+      end
     end
 
     context "by non-admin user with add_project permission" do