# Ocultar ações de sinalização para o usuário atual quando ele for sinalizado ou o sinalizador

**URL:** https://meta.discourse.org/t/hide-flag-actions-for-current-user-when-theyre-flagged-or-the-flagger/198202
**Category:** Development
**Created:** [25 Julho , 2021 16:21 UTC](https://meta.discourse.org/t/hide-flag-actions-for-current-user-when-theyre-flagged-or-the-flagger/198202 "2021-07-25T16:21:06Z")
**Posts on this page:** 5
**Page:** 1

<div class="post-metadata">

### Author: ![Heliosurge](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/heliosurge/32/571810_2.png) [@Heliosurge](https://meta.discourse.org/u/Heliosurge)
#### Post date: [25 Julho , 2021 16:21 UTC](https://meta.discourse.org/t/hide-flag-actions-for-current-user-when-theyre-flagged-or-the-flagger/198202/1 "2021-07-25T16:21:06Z")

</div>

Peço desculpas se este talvez não seja o lugar certo para perguntar, mas parece que pode ser.

Gostaria de usar, creio eu, um valor booleano para comparar, por exemplo, o usuário atual com duas coisas na revisão de sinalização: o sinalizador e o alvo da sinalização.

Se o usuário atual for igual a qualquer um deles, os botões de revisão de sinalização (como Concordar, Discordar, Adiar etc.) ficam ocultos. Assim, as sinalizações só podem ser validadas ou descartadas por terceiros.

---

<div class="post-metadata">

### Author: ![Osama](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/osama/32/98013_2.png) [@Osama](https://meta.discourse.org/u/Osama)
#### Post date: [26 Julho , 2021 12:46 UTC](https://meta.discourse.org/t/hide-flag-actions-for-current-user-when-theyre-flagged-or-the-flagger/198202/2 "2021-07-26T12:46:23Z")

</div>

Não acredito que você necessariamente precise de uma configuração de tema para isso, a menos que queira adicionar uma configuração ao seu componente que permita aos administradores ativar/desativar a imposição de que as flags sejam tratadas por um terceiro.

De modo geral, um plugin é necessário se você quiser modificar permissões padrão como você descreveu, já que temas/componentes só podem fazer alterações no frontend e podem ser contornados por usuários que saibam onde procurar.

---

<div class="post-metadata">

### Author: ![Heliosurge](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/heliosurge/32/571810_2.png) [@Heliosurge](https://meta.discourse.org/u/Heliosurge)
#### Post date: [26 Julho , 2021 12:51 UTC](https://meta.discourse.org/t/hide-flag-actions-for-current-user-when-theyre-flagged-or-the-flagger/198202/3 "2021-07-26T12:51:08Z")

</div>

Apenas procurando ocultar opções. Certamente, um usuário experiente poderia usar o navegador para reexibir os botões.

Mas isso funcionaria para o meu propósito de simplesmente mantê-lo oculto para o usuário atual, caso ele seja o denunciante ou o alvo da denúncia. É mais um dissuasor contra a tentação (um curativo) do que uma solução definitiva.

---

<div class="post-metadata">

### Author: ![Osama](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/osama/32/98013_2.png) [@Osama](https://meta.discourse.org/u/Osama)
#### Post date: [26 Julho , 2021 13:52 UTC](https://meta.discourse.org/t/hide-flag-actions-for-current-user-when-theyre-flagged-or-the-flagger/198202/4 "2021-07-26T13:52:35Z")

</div>

De uma olhada rápida no código relevante no núcleo, você precisará estender a propriedade `canPerform` (que determina se os botões de concordar/discordar etc. devem ser exibidos) em `reviewable-item` com sua lógica adicional:

> <https://github.com/discourse/discourse/blob/e1d2b67178619b83a8d2662800f4171057f91306/app/assets/javascripts/discourse/app/templates/components/reviewable-item.hbs#L57>

> <https://github.com/discourse/discourse/blob/e1d2b67178619b83a8d2662800f4171057f91306/app/assets/javascripts/discourse/app/components/reviewable-item.js#L69>

Se você nunca fez algo assim antes, o [Developing Discourse Themes & Theme Components](https://meta.discourse.org/t/developer-s-guide-to-discourse-themes/93648) seria um ótimo lugar para começar! Ele cobre como você pode modificar uma classe principal, que é exatamente o que você precisa fazer. Temas/componentes existentes são um ótimo recurso para você aprender, veja o componente [discourse-extra-group-classes](https://github.com/discourse/discourse-extra-group-classes) que usa a mesma técnica que você precisará usar (em particular o arquivo `initialize-extra-group-classes.js.es6`).

P.S. Vou mover essas postagens para fora deste tópico, já que elas não estão diretamente relacionadas às configurações de temas.

---

<div class="post-metadata">

### Author: ![Heliosurge](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/heliosurge/32/571810_2.png) [@Heliosurge](https://meta.discourse.org/u/Heliosurge)
#### Post date: [26 Julho , 2021 14:47 UTC](https://meta.discourse.org/t/hide-flag-actions-for-current-user-when-theyre-flagged-or-the-flagger/198202/5 "2021-07-26T14:47:02Z")

</div>

Obrigado. Vou revisar e ver o que posso aprender.
