Кнопка чата в карточке пользователя должна скрываться, если отключены личные сообщения

Здравствуйте! Я разрешаю пользователям общаться в каналах, но запрещаю это в личных сообщениях. В этом случае пользователь, не являющийся сотрудником, всё ещё видит кнопку «Чат» в карточке другого пользователя. Однако при нажатии на неё может появиться ошибочное сообщение.

Я изучил код: кнопка отображается, если выполнено условие 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 дня после последнего ответа. Новые ответы больше не принимаются.