mirror of https://github.com/mastodon/mastodon
				
				
				
			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_hintpull/13220/head
							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