mirror of
https://github.com/discourse/discourse.git
synced 2024-11-28 09:04:00 +08:00
3ee4b59c64
Instead of passing `user` to `guardian.can_chat?`, we can just use the inner `@user` that is part of the guardian instance already to determine whether that user can chat, since this is how it works for all other usages of guardian even within chat.
21 lines
622 B
Ruby
21 lines
622 B
Ruby
# frozen_string_literal: true
|
|
|
|
class Chat::ChatBaseController < ::ApplicationController
|
|
before_action :ensure_logged_in
|
|
before_action :ensure_can_chat
|
|
|
|
private
|
|
|
|
def ensure_can_chat
|
|
raise Discourse::NotFound unless SiteSetting.chat_enabled
|
|
guardian.ensure_can_chat!
|
|
end
|
|
|
|
def set_channel_and_chatable_with_access_check(chat_channel_id: nil)
|
|
params.require(:chat_channel_id) if chat_channel_id.blank?
|
|
id_or_name = chat_channel_id || params[:chat_channel_id]
|
|
@chat_channel = Chat::ChatChannelFetcher.find_with_access_check(id_or_name, guardian)
|
|
@chatable = @chat_channel.chatable
|
|
end
|
|
end
|