app/controllers/activities_controller.rb
class ActivitiesController < ApplicationController
skip_authorization_check only: :index
def index
authorize! :index, PublicActivity::Activity
@user = User.find params[:user_id] if params[:user_id].present?
@page = Page.find params[:page_id] if params[:page_id].present?
@trackable = @user || @page
@activities = PublicActivity::Activity
@activities = @activities.where("(owner_type='User' and owner_id=?) or (trackable_type='User' and trackable_id=?)", @user.id, @user.id) if @user
@activities = @activities.where(trackable: @page) if @page
@activities = @activities.where(owner: current_user.administrated_objects.select { |o| o.kind_of?(User) }) unless Role.of(current_user).global_admin?
@activities = @activities.order('created_at desc').limit(100)
if @trackable
set_current_title "#{t(:activity_log)}: #{@trackable.title}"
else
set_current_title t(:activity_log)
end
set_current_access :admin
set_current_access_text :this_log_can_be_seen_by_global_admins
end
end