ユーザーカードのチャットボタンは、ダイレクトメッセージが無効な場合は非表示にするべき

こんにちは。チャンネルでのチャットは許可していますが、ダイレクトメッセージでは無効にしています。この場合、非スタッフユーザーは他のユーザーカードでチャットボタンを引き続き見ることができます。しかし、それをクリックすると間違ったメッセージが表示される可能性があります。

コードを読みましたが、ボタンは 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日後に自動的に閉じられました。新しい返信は許可されていません。