Files
old-holivud2/app/controllers/admin/accounts_controller.rb
Senad Uka 8214ba9e67 Changes
2020-08-03 21:52:04 +00:00

79 lines
1.5 KiB
Ruby

class Admin::AccountsController < Admin::ApplicationController
before_action :set_account, only: [:show, :edit, :update]
def index
@accounts = filtered_accounts.order_by_name.paginate(page: params[:page])
end
def new
@account = build_account
end
def create
@account = build_account(account_params)
if @account.save
redirect_to account_auths_path({ account_id: @account.id }), notice: t(".notice")
else
render :new
end
end
def show
@videos = filtered_account_videos.order(created_at: :desc, project_id: :desc).paginate(page: params[:page])
@broadcasts = account_broadcasts.order(created_at: :desc, project_id: :desc).paginate(page: params[:page])
end
def edit
end
def update
if @account.update(account_params)
redirect_to admin_accounts_path, notice: t(".notice")
else
render :edit
end
end
private
def set_account
@account = find_account
end
def find_account
authorize accounts.find_by(slug: params[:id])
end
def accounts
policy_scope(Account)
end
def build_account(params = {})
authorize accounts.new(params)
end
def account_params
params.require(:account).permit(:name, :plan_uid)
end
def filtered_accounts
if params[:query].present?
accounts.search(params[:query])
else
accounts
end
end
def filtered_account_videos
if params[:query].present?
@account.videos.search(params[:query])
else
@account.videos
end
end
def account_broadcasts
@account.broadcasts
end
end