The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Pangloss::User - a user in Pangloss.

SYNOPSIS

  use Pangloss::User;
  my $user = new Pangloss::User();

  $user->id( $id )
       ->name( $full_name )
       ->privileges( Pangloss::User::Privileges->new )
       ->creator( $user )
       ->notes( $text )
       ->date( time )
       ->validate;

  # catch Pangloss::User::Errors

  do { ... } if $user->is_admin;
  do { ... } if $user->is_translator;
  do { ... } if $user->is_proofreader;

  # etc...

DESCRIPTION

This class represents a user in Pangloss. A new user always has an empty set of privileges.

This object inherits its interface from Pangloss::StoredObject and OpenFrame::WebApp::User.

METHODS

$obj->id

set/get user id (ie: login name).

$obj->name

set/get user full name.

privileges()

set/get user Pangloss::User::Privileges.

is_admin()

test privileges to see if user is an admin.

is_translator(), is_proofreader()

test privileges to see if user can translate/proofread one or more Pangloss::Languages.

can_add_concepts(), can_add_categories()

test privileges to see if user can add concepts/categories.

can_translate( $lang ), can_proofread( $lang )

test privileges to see if user can translate/proofread the Pangloss::Language.

not_admin()

test privileges to see if user is not an admin.

not_translator(), not_proofreader()

test privileges to see if user cannot translate/proofread any Pangloss::Languages.

cant_add_concepts(), cant_add_categories()

test privileges to see if user cannot add concepts/categories.

cant_translate( $lang ), cant_proofread( $lang )

test privileges to see if user cannot translate/proofread the given Pangloss::Language.

AUTHOR

Steve Purkis <spurkis@quiup.com>

SEE ALSO

Pangloss, Pangloss::User::Error, Pangloss::User::Privileges, Pangloss::Users, OpenFrame::WebApp::User