Sha256: a68646cc206ea90b3fa5b3e32a3cf9ddbaae7d2a6b8e694a62043bf1c1d9bfbf
Contents?: true
Size: 1 KB
Versions: 2
Compression:
Stored size: 1 KB
Contents
# frozen_string_literal: true module Hydra module RoleManagement # Module defining Controller actions for adding and managing Roles for Users module UserRolesBehavior extend ActiveSupport::Concern included do load_and_authorize_resource :role end def create authorize! :add_user, @role u = find_user if u u.roles << @role u.save! redirect_to role_management.role_path(@role) else redirect_to role_management.role_path(@role), flash: { error: "Unable to find the user #{params[:user_key]}" } end end def destroy authorize! :remove_user, @role @role.users.delete(::User.find(params[:id])) redirect_to role_management.role_path(@role) end protected def find_user ::User.send("find_by_#{find_column}".to_sym, params[:user_key]) end def find_column Devise.authentication_keys.first end end end end
Version data entries
2 entries across 2 versions & 1 rubygems