* Add comment for public controllers * Add block policy and specs * Add policy for authorizing dashboard * Add follow policy and specs * Refactor a tiny bit * Prevent banned users from following anything * Add a note for email sub controller about auth * Add image upload policies * Add policy for github repos * Fix typo and use correct github repo variable * Fix image uploader and use regular params * Add authenticate_user before action back in * Rename test * Update slack bot message formatting and fix reported URL
25 lines
1,003 B
Ruby
25 lines
1,003 B
Ruby
class DashboardsController < ApplicationController
|
|
before_action :set_no_cache_header
|
|
before_action :authenticate_user!
|
|
after_action :verify_authorized
|
|
|
|
def show
|
|
@user = if params[:username] && current_user_is_admin?
|
|
User.find_by_username(params[:username])
|
|
else
|
|
current_user
|
|
end
|
|
authorize (@user || User), :dashboard_show?
|
|
if params[:which] == "following_users"
|
|
@follows = @user.follows_by_type("User").
|
|
order("created_at DESC").includes(:followable).limit(80)
|
|
elsif params[:which] == "user_followers"
|
|
@follows = Follow.where(followable_id: @user.id, followable_type: "User").
|
|
includes(:follower).order("created_at DESC").limit(80)
|
|
elsif @user&.organization && @user.org_admin && params[:which] == "organization"
|
|
@articles = @user.organization.articles.order("created_at DESC").decorate
|
|
elsif @user
|
|
@articles = @user.articles.order("created_at DESC").decorate
|
|
end
|
|
end
|
|
end
|