Skip to content
Extraits de code Groupes Projets
Valider cf6ee4ff rédigé par ThibG's avatar ThibG Validation de Eugen Rochko
Parcourir les fichiers

Add admin ability to remove an user's header image (#9495)

* Fix markup in admin/accounts/:id table for avatar

* Add admin ability to remove an user's header image
parent 720daa81
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
module Admin module Admin
class AccountsController < BaseController class AccountsController < BaseController
before_action :set_account, only: [:show, :subscribe, :unsubscribe, :redownload, :remove_avatar, :enable, :disable, :memorialize] before_action :set_account, only: [:show, :subscribe, :unsubscribe, :redownload, :remove_avatar, :remove_header, :enable, :disable, :memorialize]
before_action :require_remote_account!, only: [:subscribe, :unsubscribe, :redownload] before_action :require_remote_account!, only: [:subscribe, :unsubscribe, :redownload]
before_action :require_local_account!, only: [:enable, :disable, :memorialize] before_action :require_local_account!, only: [:enable, :disable, :memorialize]
...@@ -71,6 +71,17 @@ module Admin ...@@ -71,6 +71,17 @@ module Admin
redirect_to admin_account_path(@account.id) redirect_to admin_account_path(@account.id)
end end
def remove_header
authorize @account, :remove_header?
@account.header = nil
@account.save!
log_action :remove_header, @account.user
redirect_to admin_account_path(@account.id)
end
private private
def set_account def set_account
......
...@@ -92,7 +92,7 @@ module Admin::ActionLogsHelper ...@@ -92,7 +92,7 @@ module Admin::ActionLogsHelper
opposite_verbs?(log) ? 'negative' : 'positive' opposite_verbs?(log) ? 'negative' : 'positive'
when :update, :reset_password, :disable_2fa, :memorialize, :change_email when :update, :reset_password, :disable_2fa, :memorialize, :change_email
'neutral' 'neutral'
when :demote, :silence, :disable, :suspend, :remove_avatar, :reopen when :demote, :silence, :disable, :suspend, :remove_avatar, :remove_header, :reopen
'negative' 'negative'
when :destroy when :destroy
opposite_verbs?(log) ? 'positive' : 'negative' opposite_verbs?(log) ? 'positive' : 'negative'
......
...@@ -33,6 +33,10 @@ class AccountPolicy < ApplicationPolicy ...@@ -33,6 +33,10 @@ class AccountPolicy < ApplicationPolicy
staff? staff?
end end
def remove_header?
staff?
end
def subscribe? def subscribe?
admin? admin?
end end
......
...@@ -16,11 +16,18 @@ ...@@ -16,11 +16,18 @@
%tr %tr
%th= t('admin.accounts.avatar') %th= t('admin.accounts.avatar')
%th %td
= link_to @account.avatar.url(:original) do = link_to @account.avatar.url(:original) do
= image_tag @account.avatar.url(:original), alt: '', width: 40, height: 40, class: 'avatar' = image_tag @account.avatar.url(:original), alt: '', width: 40, height: 40, class: 'avatar'
- if @account.local? && @account.avatar? - if @account.local? && @account.avatar?
= table_link_to 'trash', t('admin.accounts.remove_avatar'), remove_avatar_admin_account_path(@account.id), method: :post, data: { confirm: t('admin.accounts.are_you_sure') } if can?(:remove_avatar, @account) = table_link_to 'trash', t('admin.accounts.remove_avatar'), remove_avatar_admin_account_path(@account.id), method: :post, data: { confirm: t('admin.accounts.are_you_sure') } if can?(:remove_avatar, @account)
%tr
%th= t('admin.accounts.header')
%td
= link_to @account.header.url(:original) do
= image_tag @account.header.url(:original), alt: '', width: 128, height: 40, class: 'header'
- if @account.local? && @account.header?
= table_link_to 'trash', t('admin.accounts.remove_header'), remove_header_admin_account_path(@account.id), method: :post, data: { confirm: t('admin.accounts.are_you_sure') } if can?(:remove_header, @account)
- if @account.local? - if @account.local?
%tr %tr
......
...@@ -176,6 +176,7 @@ Rails.application.routes.draw do ...@@ -176,6 +176,7 @@ Rails.application.routes.draw do
post :disable post :disable
post :redownload post :redownload
post :remove_avatar post :remove_avatar
post :remove_header
post :memorialize post :memorialize
end end
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter