NAME

Gantry::Control::C::Groups - Group management for the Gantry library

SYNOPSIS

use Gantry::Control::C::Groups;

DESCRIPTION

This module handles all of the group manipulation for the authorization and authentication handlers. It's pretty mundane by itself.

APACHE

Sample Apache configuration.

<Location /admin/groups >
  SetHandler  perl-script

  PerlSetVar  SiteTitle       "Group Management: "

  PerlSetVar  dbconn  "dbi:Pg:dbname=..."
  PerlSetVar  dbuser  "<database_username>"
  PerlSetVar  dbpass  "<database_password>
  PerlSetVar  DatabaseCommit  off
                 
  PerlHandler Gantry::Control::C::Groups
</Location>

DATABASE

These are the group authentication/authorization tables used by this module. They are also used by the authen and authz handlers this package contains.

create table "auth_users" (
  see C<Gantry::Control::C::User> 
);

create table "auth_groups" (
  "id"            int4 default nextval('auth_groups_seq'::text) NOT NULL,
  "name"          varchar,
  "description"   text
);

create table "auth_group_members" (
  "id"        int4 default nextval('auth_group_members_seq'::text) NOT NULL,
  "user_id"   int4,
  "group_id"  int4    
);

METHODS

The methods are all url mapped handlers called by Gantry::handler, except redirect_to_main which is a Gantry::Plugins::CRUD callback which decides where to go when a button driven action is complete.

do_add
do_ajax_edit
do_delete
do_edit
do_main
do_members
redirect_to_main

There is also one method designed to be called by templates (especially wrappers).

Returns nav links and their text.

SEE ALSO

Gantry::Control::C::Users(3), Gantry::Control(3), Gantry::Control::Users(3), Gantry(3)

LIMITATIONS

The group name should be safe for use in the apache configuration files but I am not going to force this down peoples throat as any string can be made safe if escaped correctly.

AUTHOR

Tim Keefer <tkeefer@gmail.com>

COPYRIGHT

Copyright (c) 2005-6, Tim Keefer.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.6 or, at your option, any later version of Perl 5 you may have available.