##// END OF EJS Templates
Changed ProjectsController#destroy to DELETE only....
Jean-Philippe Lang -
r8032:467503fd4b5a
parent child
Show More
@@ -228,12 +228,10 class ProjectsController < ApplicationController
228 redirect_to(url_for(:controller => 'admin', :action => 'projects', :status => params[:status]))
228 redirect_to(url_for(:controller => 'admin', :action => 'projects', :status => params[:status]))
229 end
229 end
230
230
231 verify :method => :delete, :only => :destroy, :render => {:nothing => true, :status => :method_not_allowed }
231 # Delete @project
232 # Delete @project
232 def destroy
233 def destroy
233 @project_to_destroy = @project
234 @project_to_destroy = @project
234 if request.get?
235 # display confirmation view
236 else
237 if api_request? || params[:confirm]
235 if api_request? || params[:confirm]
238 @project_to_destroy.destroy
236 @project_to_destroy.destroy
239 respond_to do |format|
237 respond_to do |format|
@@ -241,7 +239,6 class ProjectsController < ApplicationController
241 format.api { head :ok }
239 format.api { head :ok }
242 end
240 end
243 end
241 end
244 end
245 # hide project in layout
242 # hide project in layout
246 @project = nil
243 @project = nil
247 end
244 end
@@ -34,7 +34,7
34 <%= link_to(l(:button_archive), { :controller => 'projects', :action => 'archive', :id => project, :status => params[:status] }, :confirm => l(:text_are_you_sure), :method => :post, :class => 'icon icon-lock') if project.active? %>
34 <%= link_to(l(:button_archive), { :controller => 'projects', :action => 'archive', :id => project, :status => params[:status] }, :confirm => l(:text_are_you_sure), :method => :post, :class => 'icon icon-lock') if project.active? %>
35 <%= link_to(l(:button_unarchive), { :controller => 'projects', :action => 'unarchive', :id => project, :status => params[:status] }, :method => :post, :class => 'icon icon-unlock') if !project.active? && (project.parent.nil? || project.parent.active?) %>
35 <%= link_to(l(:button_unarchive), { :controller => 'projects', :action => 'unarchive', :id => project, :status => params[:status] }, :method => :post, :class => 'icon icon-unlock') if !project.active? && (project.parent.nil? || project.parent.active?) %>
36 <%= link_to(l(:button_copy), { :controller => 'projects', :action => 'copy', :id => project }, :class => 'icon icon-copy') %>
36 <%= link_to(l(:button_copy), { :controller => 'projects', :action => 'copy', :id => project }, :class => 'icon icon-copy') %>
37 <%= link_to(l(:button_delete), project_destroy_confirm_path(project), :class => 'icon icon-del') %>
37 <%= link_to(l(:button_delete), project_path(project), :method => :delete, :class => 'icon icon-del') %>
38 </td>
38 </td>
39 </tr>
39 </tr>
40 <% end %>
40 <% end %>
@@ -125,9 +125,6 ActionController::Routing::Routes.draw do |map|
125
125
126 end
126 end
127
127
128 # Destroy uses a get request to prompt the user before the actual DELETE request
129 map.project_destroy_confirm 'projects/:id/destroy', :controller => 'projects', :action => 'destroy', :conditions => {:method => :get}
130
131 # TODO: port to be part of the resources route(s)
128 # TODO: port to be part of the resources route(s)
132 map.with_options :controller => 'projects' do |project_mapper|
129 map.with_options :controller => 'projects' do |project_mapper|
133 project_mapper.with_options :conditions => {:method => :get} do |project_views|
130 project_mapper.with_options :conditions => {:method => :get} do |project_views|
@@ -410,17 +410,17 class ProjectsControllerTest < ActionController::TestCase
410 assert_response :method_not_allowed
410 assert_response :method_not_allowed
411 end
411 end
412
412
413 def test_get_destroy
413 def test_destroy_without_confirmation
414 @request.session[:user_id] = 1 # admin
414 @request.session[:user_id] = 1 # admin
415 get :destroy, :id => 1
415 delete :destroy, :id => 1
416 assert_response :success
416 assert_response :success
417 assert_template 'destroy'
417 assert_template 'destroy'
418 assert_not_nil Project.find_by_id(1)
418 assert_not_nil Project.find_by_id(1)
419 end
419 end
420
420
421 def test_post_destroy
421 def test_destroy
422 @request.session[:user_id] = 1 # admin
422 @request.session[:user_id] = 1 # admin
423 post :destroy, :id => 1, :confirm => 1
423 delete :destroy, :id => 1, :confirm => 1
424 assert_redirected_to '/admin/projects'
424 assert_redirected_to '/admin/projects'
425 assert_nil Project.find_by_id(1)
425 assert_nil Project.find_by_id(1)
426 end
426 end
General Comments 0
You need to be logged in to leave comments. Login now