阻止用户更改其全名

我看过了;可以通过 API 隐藏字段,但我找不到任何可以依赖的数据来知道该用户是否已获批准(在偏好设置页面上下文中):思考:

这是我目前所拥有的。
我不确定我是否应该感到难过;也许有点取巧。:微笑:

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) {
        // 仅隐藏输入字段(姓名已显示)
        this.model.can_edit_name = false;
      } else {
        // 隐藏整个部分
        return false;
      }
    }

    return enables_name;
  },
});
    
</script>
1 个赞