Empêcher les utilisateurs de changer leur nom complet

J’ai jeté un coup d’œil ; cacher le champ avec l’API est possible, mais je ne trouve aucune donnée sur laquelle je puisse m’appuyer pour savoir si cet utilisateur est approuvé ou non (dans le contexte de la page des préférences) :thinking:

Voici ce que j’ai pour l’instant.
Je ne sais pas si je devrais me sentir mal ; c’est peut-être un peu astucieux ici. :smile:

js

<script type="text/discourse-plugin" version="0.8">

const { setting } = require("discourse/lib/computed");

api.modifyClass("controller:preferences/account", {
  pluginId: "hide-name-in-preferences",

  get canEditName() {
    const enables_name = setting("enable_names");

    if (enables_name && this.isCurrentUser && !this.model.staff) {
      if (this.model.name) {
        // Hide only the input field (name is displayed)
        this.model.can_edit_name = false;
      } else {
        // Hide the whole section
        return false;
      }
    }

    return enables_name;
  },
});
    
</script>
1 « J'aime »