Peter Flanigan > CatalystX-Usul-0.17.1 > CatalystX::Usul::Roles

Download:
catalystx-usul/CatalystX-Usul-0.17.1.tar.gz

Dependencies

Annotate this POD

Website

CPAN RT

Open  0
View/Report Bugs
Module Version: v0.17.1   Source  

Name ^

CatalystX::Usul::Roles - Manage the roles and their members

Version ^

Describes v0.17.$Rev: 1 $

Synopsis ^

   use CatalystX::Usul::Roles::DBIC;
   use Class::Usul;

   my $usul     = Class::Usul->new;
   my $user_obj = CatalystX::Usul::Users::DBIC->new( builder => $usul );
   my $role_obj = CatalystX::Usul::Roles::DBIC->new( builder => $usul,
                                                     users   => $user_obj );

Description ^

Implements the base class for role data stores. Each factory subclass should inherit from this and implement the required list of methods

Configuration and Environment ^

Defines the following attributes

cache

Hash ref which defaults to { _dirty => TRUE }

users

A CatalystX::Usul::Users object which is required

Subroutines/Methods ^

add_roles_to_user

   $role_obj->add_roles_to_user( $args );

Adds the user to one or more roles. The user is passed in $args->{user} and $args->{field} is the field to extract from the request object. Calls f_add_user_to_role in the factory subclass to add one user to one role. A suitable message from the stash $s is added to the result div upon success

add_users_to_role

   $role_obj->add_users_to_role( $args );

Adds one or more users to the specified role. The role is passed in $args->{role} and $args->{field} is the field to extract from the request object. Calls f_add_user_to_role in the factory subclass to add one user to one role. A suitable message from the stash $s is added to the result div upon success

create

   $role_obj->create;

Creates a new role. The name field from the request object is passed to f_create in the factory subclass. A suitable message from the stash $s is added to the result div upon success

delete

   $role_obj->delete;

Deletes an existing role. The role field from the request object is passed to the f_delete method in the factory subclass. A suitable message from the stash $s is added to the result div

get_member_list

   @members = $role_obj->get_member_list( $role );

Returns the list of members of a given role

get_name

   $role = $role_obj->get_name( $rid );

Returns the role name of the given role id

get_rid

   $rid = $role_obj->get_rid( $role );

Returns the role id of the given role name

get_roles

   @roles = $role_obj->get_roles( $user, $rid );

Returns the list of roles that the given user is a member of. If the user all is specified then a list of all roles is returned. If a specific user is passed then the $rid will be used as that users primary role id. If $rid is not specified then the primary role id will be looked up via the user object

is_member_of_role

   $bool = $role_obj->is_member_of_role( $role, $user );

Returns true if the given user is a member of the given role, returns false otherwise

is_role

   $bool = $role_obj->is_role( $role );

Returns true if $role exists, false otherwise

remove_roles_from_user

   $role_obj->remove_roles_from_user( $args );

Removes a user from one or more roles

remove_users_from_role

   $role_obj->remove_users_from_role( $args );

Removes one or more users from a role

role_manager_form

   $role_obj->role_form;

Adds data to the stash which displays the role management screen

update

   $role_obj->update;

Called as an action from the the management screen. This method determines if users have been added and/or removed from the selected role and calls "add_users_to_role" and/or "remove_users_from_role" as appropriate

Diagnostics ^

None

Dependencies ^

Class::Usul::IPC
CatalystX::Usul::Moose

Incompatibilities ^

There are no known incompatibilities in this module

Bugs and Limitations ^

There are no known bugs in this module. Please report problems to the address below. Patches are welcome

Author ^

Peter Flanigan, <Support at RoxSoft.co.uk>

License and Copyright ^

Copyright (c) 2014 Peter Flanigan. All rights reserved

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See perlartistic

This program is distributed in the hope that it will be useful, but WITHOUT WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE

syntax highlighting: