71 lines
2.1 KiB
Ruby
71 lines
2.1 KiB
Ruby
module Admin
|
|
class ForwardAuthRulesController < BaseController
|
|
before_action :set_forward_auth_rule, only: [:show, :edit, :update, :destroy]
|
|
|
|
def index
|
|
@forward_auth_rules = ForwardAuthRule.ordered
|
|
end
|
|
|
|
def show
|
|
@allowed_groups = @forward_auth_rule.allowed_groups
|
|
end
|
|
|
|
def new
|
|
@forward_auth_rule = ForwardAuthRule.new
|
|
@available_groups = Group.order(:name)
|
|
end
|
|
|
|
def create
|
|
@forward_auth_rule = ForwardAuthRule.new(forward_auth_rule_params)
|
|
|
|
if @forward_auth_rule.save
|
|
# Handle group assignments
|
|
if params[:forward_auth_rule][:group_ids].present?
|
|
group_ids = params[:forward_auth_rule][:group_ids].reject(&:blank?)
|
|
@forward_auth_rule.allowed_groups = Group.where(id: group_ids)
|
|
end
|
|
|
|
redirect_to admin_forward_auth_rule_path(@forward_auth_rule), notice: "Forward auth rule created successfully."
|
|
else
|
|
@available_groups = Group.order(:name)
|
|
render :new, status: :unprocessable_entity
|
|
end
|
|
end
|
|
|
|
def edit
|
|
@available_groups = Group.order(:name)
|
|
end
|
|
|
|
def update
|
|
if @forward_auth_rule.update(forward_auth_rule_params)
|
|
# Handle group assignments
|
|
if params[:forward_auth_rule][:group_ids].present?
|
|
group_ids = params[:forward_auth_rule][:group_ids].reject(&:blank?)
|
|
@forward_auth_rule.allowed_groups = Group.where(id: group_ids)
|
|
else
|
|
@forward_auth_rule.allowed_groups = []
|
|
end
|
|
|
|
redirect_to admin_forward_auth_rule_path(@forward_auth_rule), notice: "Forward auth rule updated successfully."
|
|
else
|
|
@available_groups = Group.order(:name)
|
|
render :edit, status: :unprocessable_entity
|
|
end
|
|
end
|
|
|
|
def destroy
|
|
@forward_auth_rule.destroy
|
|
redirect_to admin_forward_auth_rules_path, notice: "Forward auth rule deleted successfully."
|
|
end
|
|
|
|
private
|
|
|
|
def set_forward_auth_rule
|
|
@forward_auth_rule = ForwardAuthRule.find(params[:id])
|
|
end
|
|
|
|
def forward_auth_rule_params
|
|
params.require(:forward_auth_rule).permit(:domain_pattern, :active)
|
|
end
|
|
end
|
|
end |