Add ability to delete files uploaded for settings in admin UI (#13192)
* Allow deleting site uploads * Refactor and move links into hints * Fix i18n tests * Fix HTML output of site_upload_delete_hintmaster
parent
4063f9f278
commit
2423d2f677
@ -0,0 +1,21 @@ |
|||||||
|
# frozen_string_literal: true |
||||||
|
|
||||||
|
module Admin |
||||||
|
class SiteUploadsController < BaseController |
||||||
|
before_action :set_site_upload |
||||||
|
|
||||||
|
def destroy |
||||||
|
authorize :settings, :destroy? |
||||||
|
|
||||||
|
@site_upload.destroy! |
||||||
|
|
||||||
|
redirect_to edit_admin_settings_path, notice: I18n.t('admin.site_uploads.destroyed_msg') |
||||||
|
end |
||||||
|
|
||||||
|
private |
||||||
|
|
||||||
|
def set_site_upload |
||||||
|
@site_upload = SiteUpload.find(params[:id]) |
||||||
|
end |
||||||
|
end |
||||||
|
end |
@ -0,0 +1,11 @@ |
|||||||
|
# frozen_string_literal: true |
||||||
|
|
||||||
|
module Admin::SettingsHelper |
||||||
|
def site_upload_delete_hint(hint, var) |
||||||
|
upload = SiteUpload.find_by(var: var.to_s) |
||||||
|
return hint unless upload |
||||||
|
|
||||||
|
link = link_to t('admin.site_uploads.delete'), admin_site_upload_path(upload), data: { method: :delete } |
||||||
|
safe_join([hint, link], '<br/>'.html_safe) |
||||||
|
end |
||||||
|
end |
Loading…
Reference in new issue