如果禁用直接消息,用户卡中的聊天按钮应隐藏

您好,我允许用户在频道中聊天,但在私信中禁用他们。在这种情况下,非员工用户仍然可以在其他用户的用户卡片中看到“聊天”按钮。但点击后他们可能会收到错误消息。

我阅读了代码,如果 can_chat_user 为真,则显示该按钮。这是由以下代码确定的。

# plugins/chat/plugin.rb
  add_to_serializer(:user_card, :can_chat_user) do
    return false if !SiteSetting.chat_enabled
    return false if scope.user.blank?

    scope.user.id != object.id && scope.can_chat?(scope.user) && scope.can_chat?(object)
  end

# plugins/chat/lib/guardian_extentions.rb

 def can_chat?(user)
    return false unless user
    user.staff? || user.in_any_groups?(Chat.allowed_group_ids)
  end
2 个赞

感谢您报告此问题!我会将其添加到我们的修复列表中。

1 个赞

好,谢谢,应该已经修复了:

:+1:

4 个赞

该主题在上次回复后 2 天自动关闭。不再允许新回复。