Name
CatalystX::Usul::Roles - Manage the roles and their members
Version
Describes v0.16.$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
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