Class: UserActionsController
- Inherits:
-
ApplicationController
- Object
- ActionController::Base
- ApplicationController
- UserActionsController
- Defined in:
- app/controllers/user_actions_controller.rb
Constant Summary
Constants inherited from ApplicationController
ApplicationController::CHALLENGE_KEY, ApplicationController::HONEYPOT_KEY, ApplicationController::LEGACY_NO_THEMES, ApplicationController::LEGACY_NO_UNOFFICIAL_PLUGINS, ApplicationController::NO_PLUGINS, ApplicationController::NO_THEMES, ApplicationController::NO_UNOFFICIAL_PLUGINS, ApplicationController::SAFE_MODE
Constants included from CanonicalURL::ControllerExtensions
CanonicalURL::ControllerExtensions::ALLOWED_CANONICAL_PARAMS
Instance Attribute Summary
Attributes inherited from ApplicationController
Instance Method Summary collapse
Methods inherited from ApplicationController
#application_layout, #can_cache_content?, #clear_notifications, #conditionally_allow_site_embedding, #current_homepage, #discourse_expires_in, #dont_cache_page, #ember_cli_required?, #fetch_user_from_params, #guardian, #handle_permalink, #handle_theme, #handle_unverified_request, #has_escaped_fragment?, #immutable_for, #login_method, #no_cookies, #perform_refresh_session, #post_ids_including_replies, #preload_json, #rate_limit_second_factor!, #redirect_with_client_support, #render_json_dump, #render_serialized, requires_plugin, #rescue_discourse_actions, #resolve_safe_mode, #secure_session, #serialize_data, #set_current_user_for_logs, #set_layout, #set_mobile_view, #set_mp_snapshot_fields, #show_browser_update?, #store_preloaded, #use_crawler_layout?, #with_resolved_locale
Methods included from VaryHeader
Methods included from ThemeResolver
Methods included from ReadOnlyMixin
#add_readonly_header, #allowed_in_staff_writes_only_mode?, #block_if_readonly_mode, #check_readonly_mode, #get_or_check_readonly_mode, #get_or_check_staff_writes_only_mode, included, #staff_writes_only_mode?
Methods included from Hijack
Methods included from GlobalPath
#cdn_path, #cdn_relative_path, #full_cdn_url, #path, #upload_cdn_path
Methods included from JsonError
Methods included from CanonicalURL::ControllerExtensions
#canonical_url, #default_canonical, included
Methods included from CurrentUser
#clear_current_user, #current_user, has_auth_cookie?, #is_api?, #is_user_api?, #log_off_user, #log_on_user, lookup_from_env, #refresh_session
Instance Method Details
#index ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'app/controllers/user_actions_controller.rb', line 4 def index user_actions_params.require(:username) user = fetch_user_from_params( include_inactive: current_user.try(:staff?) || (current_user && SiteSetting.show_inactive_accounts), ) offset = [0, user_actions_params[:offset].to_i].max action_types = (user_actions_params[:filter] || "").split(",").map(&:to_i) limit = user_actions_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, offset: offset, limit: limit, action_types: action_types, guardian: guardian, ignore_private_messages: params[:filter].blank?, acting_username: params[:acting_username], } stream = UserAction.stream(opts).to_a response = { user_actions: serialize_data(stream, UserActionSerializer) } if guardian.can_lazy_load_categories? category_ids = stream.map(&:category_id).compact.uniq categories = Category.secured(guardian).with_parents(category_ids) response[:categories] = serialize_data(categories, CategoryBadgeSerializer) end render json: response end |
#show ⇒ Object
43 44 45 46 |
# File 'app/controllers/user_actions_controller.rb', line 43 def show params.require(:id) render_serialized(UserAction.stream_item(params[:id], guardian), UserActionSerializer) end |