]> source.dussan.org Git - redmine.git/commitdiff
The test email action should only be accessible with POST (#20203).
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Mon, 29 Jun 2015 16:09:00 +0000 (16:09 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Mon, 29 Jun 2015 16:09:00 +0000 (16:09 +0000)
git-svn-id: http://svn.redmine.org/redmine/trunk@14389 e93f8b46-1217-0410-a6f0-8f06a7374b81

app/views/settings/_notifications.html.erb
config/routes.rb
test/functional/admin_controller_test.rb
test/integration/routing/admin_test.rb

index f746f7cedbcfaf9e32ff9f5b12e5bd0df4d59640..59a30a9a8d2dfd3796dfa5445f49261222242612 100644 (file)
@@ -30,7 +30,7 @@
 </fieldset>
 
 <div style="float:right;">
-<%= link_to l(:label_send_test_email), :controller => 'admin', :action => 'test_email' %>
+<%= link_to l(:label_send_test_email), { :controller => 'admin', :action => 'test_email' }, :method => :post %>
 </div>
 
 <%= submit_tag l(:button_save) %>
index 625440c8eedf29e291cc4ff9a68e8193e5381652..7e8ebeb8420c47713694a09e60c1cc0400146701 100644 (file)
@@ -324,7 +324,7 @@ Rails.application.routes.draw do
   match 'admin/projects', :controller => 'admin', :action => 'projects', :via => :get
   match 'admin/plugins', :controller => 'admin', :action => 'plugins', :via => :get
   match 'admin/info', :controller => 'admin', :action => 'info', :via => :get
-  match 'admin/test_email', :controller => 'admin', :action => 'test_email', :via => :get
+  match 'admin/test_email', :controller => 'admin', :action => 'test_email', :via => :post
   match 'admin/default_configuration', :controller => 'admin', :action => 'default_configuration', :via => :post
 
   resources :auth_sources do
index bef3e4284e6a3ed418d5fe1a0e9e62e15aca1eb4..3064d5faab0963c8e25bebc107f065e11114a0d8 100644 (file)
@@ -87,7 +87,7 @@ class AdminControllerTest < ActionController::TestCase
     user.pref.save!
     ActionMailer::Base.deliveries.clear
 
-    get :test_email
+    post :test_email
     assert_redirected_to '/settings?tab=notifications'
     mail = ActionMailer::Base.deliveries.last
     assert_not_nil mail
@@ -97,7 +97,7 @@ class AdminControllerTest < ActionController::TestCase
 
   def test_test_email_failure_should_display_the_error
     Mailer.stubs(:test_email).raises(Exception, 'Some error message')
-    get :test_email
+    post :test_email
     assert_redirected_to '/settings?tab=notifications'
     assert_match /Some error message/, flash[:error]
   end
index 0fce80395241ad42c36562efef6572d51dda4bc4..16e2c1ca17016580cd3fc483e7c0f5cff9a66fdd 100644 (file)
@@ -23,7 +23,7 @@ class RoutingAdminTest < Redmine::RoutingTest
     should_route 'GET /admin/projects' => 'admin#projects'
     should_route 'GET /admin/plugins' => 'admin#plugins'
     should_route 'GET /admin/info' => 'admin#info'
-    should_route 'GET /admin/test_email' => 'admin#test_email'
+    should_route 'POST /admin/test_email' => 'admin#test_email'
     should_route 'POST /admin/default_configuration' => 'admin#default_configuration'
   end
 end