Sha256: fcec52e97899d55020251456a58578308d1530cfcfe00489260f5a28670f393b

Contents?: true

Size: 745 Bytes

Versions: 3

Compression:

Stored size: 745 Bytes

Contents

module Hydra
  module RoleManagement
    module UserRolesBehavior
      extend ActiveSupport::Concern

      included do
        load_and_authorize_resource :role
      end

      def create
        authorize! :add_user, @role
        u = ::User.find_by_user_key(params[:user_key])
        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
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
hydra-role-management-0.1.0 app/controllers/concerns/hydra/role_management/user_roles_behavior.rb
hydra-role-management-0.0.2 app/controllers/concerns/hydra/role_management/user_roles_behavior.rb
hydra-role-management-0.0.1 app/controllers/concerns/hydra/role_management/user_roles_behavior.rb