Redirect to referer after destroying an image
The same way we do for documents. This way we avoid a possible unprotected redirect.
This commit is contained in:
@@ -11,7 +11,7 @@ class ImagesController < ApplicationController
|
|||||||
else
|
else
|
||||||
flash[:alert] = t "images.actions.destroy.alert"
|
flash[:alert] = t "images.actions.destroy.alert"
|
||||||
end
|
end
|
||||||
redirect_to params[:from]
|
redirect_to request.referer
|
||||||
end
|
end
|
||||||
format.js do
|
format.js do
|
||||||
if @image.destroy
|
if @image.destroy
|
||||||
|
|||||||
@@ -26,7 +26,7 @@
|
|||||||
<div class="sidebar-divider"></div>
|
<div class="sidebar-divider"></div>
|
||||||
<h2><%= t("budgets.investments.show.author") %></h2>
|
<h2><%= t("budgets.investments.show.author") %></h2>
|
||||||
<div class="show-actions-menu">
|
<div class="show-actions-menu">
|
||||||
<%= link_to image_path(investment.image, from: request.url),
|
<%= link_to image_path(investment.image),
|
||||||
method: :delete,
|
method: :delete,
|
||||||
class: "button hollow alert expanded" do %>
|
class: "button hollow alert expanded" do %>
|
||||||
<span class="icon-image"></span>
|
<span class="icon-image"></span>
|
||||||
|
|||||||
17
spec/controllers/images_controller_spec.rb
Normal file
17
spec/controllers/images_controller_spec.rb
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
require "rails_helper"
|
||||||
|
|
||||||
|
describe ImagesController do
|
||||||
|
let(:user) { create(:user) }
|
||||||
|
before { sign_in user }
|
||||||
|
|
||||||
|
describe "DELETE destroy" do
|
||||||
|
it "redirects to the referer URL" do
|
||||||
|
image = create(:image, imageable: create(:proposal, author: user))
|
||||||
|
request.env["HTTP_REFERER"] = "/proposals"
|
||||||
|
|
||||||
|
delete :destroy, params: { id: image, from: "http://evil.dev" }
|
||||||
|
|
||||||
|
expect(response).to redirect_to "/proposals"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
Reference in New Issue
Block a user