Masquer les actions de signalement pour l'utilisateur actuel lorsqu'il est signalé ou qu'il s'agit du signalant

Je m’excuse si ce n’est peut-être pas le bon endroit pour poser cette question, mais cela semble être le cas.

Je souhaiterais utiliser, je suppose, un booléen pour comparer l’utilisateur actuel à deux éléments dans la revue des signalements : le signalisateur et la cible du signalement.

Si l’utilisateur actuel correspond à l’un ou l’autre, cela masque les boutons de revue des signalements (c’est-à-dire Accepter/Rejeter/Reporter, etc.). Ainsi, les signalements ne peuvent être validés ou rejetés que par un tiers.

Je ne pense pas que vous ayez nécessairement besoin d’un paramètre de thème pour cela, sauf si vous souhaitez ajouter une option à votre composant permettant aux administrateurs d’activer ou de désactiver le traitement des drapeaux par un tiers.

De manière générale, un plugin est nécessaire si vous souhaitez modifier les permissions par défaut comme vous l’avez décrit, car les thèmes et les composants ne peuvent effectuer que des modifications côté interface et peuvent être contournés par les utilisateurs s’ils savent où chercher.

Juste pour masquer des options. Bien sûr, un utilisateur averti pourrait utiliser son navigateur pour réafficher les boutons.

Cependant, cela suffirait pour mon besoin : simplement les cacher à l’utilisateur actuel s’il est celui qui a signalé ou la cible du signalement. C’est davantage un frein à la tentation (un pansement) qu’une solution définitive.

En jetant un coup d’œil rapide au code pertinent dans le noyau, vous devrez étendre la propriété canPerform (qui détermine si les boutons « accepter », « refuser », etc. doivent être affichés) dans reviewable-item en y ajoutant votre logique personnalisée :

Si vous n’avez jamais fait ce genre de chose auparavant, le Developing Discourse Themes & Theme Components est un excellent point de départ ! Il explique comment modifier une classe du noyau, ce dont vous avez besoin. Les thèmes et composants existants constituent également une ressource précieuse pour apprendre ; consultez par exemple le composant discourse-extra-group-classes, qui utilise la même technique que celle dont vous aurez besoin (en particulier le fichier initialize-extra-group-classes.js.es6).

P.S. : Je vais déplacer ces messages hors de ce sujet, car ils ne sont pas directement liés aux paramètres des thèmes.

Merci, je vais examiner cela et voir ce que je peux apprendre.