docbrown/app/controllers/admin/organizations_controller.rb
Joshua Wehner 50a286fe75
Change order of organizations on /admin (#19499)
* Change order of organizations on /admin

* Rubocop
2023-05-23 10:41:18 +02:00

44 lines
1.1 KiB
Ruby

module Admin
class OrganizationsController < Admin::ApplicationController
layout "admin"
PER_PAGE_MAX = 50
CREDIT_ACTIONS = {
add: :add_to,
remove: :remove_from
}.with_indifferent_access.freeze
def index
@organizations = Organization.simple_name_match(params[:search].presence)
.page(params[:page]).per(PER_PAGE_MAX)
end
def show
@organization = Organization.find(params[:id])
end
def update_org_credits
org = Organization.find(params[:id])
amount = params[:credits].to_i
update_action = CREDIT_ACTIONS.fetch(params[:credit_action])
Credit.public_send(update_action, org, amount)
add_note(org)
flash[:notice] = I18n.t("admin.organizations_controller.credit_updated")
redirect_to admin_organization_path(org)
end
private
def add_note(org)
Note.create(
author_id: current_user.id,
noteable_id: org.id,
noteable_type: "Organization",
reason: "misc_note",
content: params[:note],
)
end
end
end