discourse/app/controllers/user_actions_controller.rb

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

55 lines
1.5 KiB
Ruby
Raw Normal View History

# frozen_string_literal: true
2013-02-05 13:16:51 -06:00
class UserActionsController < ApplicationController
def index
2013-05-26 20:02:58 -05:00
params.require(:username)
params.permit(:filter, :offset, :acting_username, :limit)
2013-05-26 20:02:58 -05:00
user = fetch_user_from_params(include_inactive: current_user.try(:staff?) || (current_user && SiteSetting.show_inactive_accounts))
2019-08-20 05:03:16 -05:00
offset = [0, params[:offset].to_i].max
action_types = (params[:filter] || "").split(",").map(&:to_i)
limit = params.fetch(:limit, 30).to_i
raise Discourse::NotFound unless guardian.can_see_profile?(user)
raise Discourse::NotFound unless guardian.can_see_user_actions?(user, action_types)
opts = {
user_id: user.id,
user: user,
2019-08-20 05:03:16 -05:00
offset: offset,
limit: limit,
action_types: action_types,
guardian: guardian,
ignore_private_messages: params[:filter] ? false : true,
acting_username: params[:acting_username]
}
2015-04-21 13:36:46 -05:00
stream = UserAction.stream(opts).to_a
2019-08-20 05:03:16 -05:00
if stream.empty? && (help_key = params['no_results_help_key'])
if user.id == guardian.user.try(:id)
help_key += ".self"
else
2016-11-29 01:01:09 -06:00
help_key += ".others"
end
render json: {
user_action: [],
no_results_help: I18n.t(help_key)
}
else
render_serialized(stream, UserActionSerializer, root: 'user_actions')
end
2013-02-05 13:16:51 -06:00
end
def show
2013-05-26 20:02:58 -05:00
params.require(:id)
render_serialized(UserAction.stream_item(params[:id], guardian), UserActionSerializer)
2013-02-05 13:16:51 -06:00
end
def private_messages
# DO NOT REMOVE
# TODO should preload messages to avoid extra http req
end
2013-02-05 13:16:51 -06:00
end