X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=rt%2Flib%2FRT%2FGroupMember.pm;h=8de1a73fe385e82a3b92f87121c34e62f5a94fa9;hp=69de50b42d4778eea8a327d093764b8e7fcaa0f6;hb=ded0451e9582df33cae6099a2fb72b4ea25076cf;hpb=0ebeec96313dd7edfca340f01f8fbbbac1f4aa1d diff --git a/rt/lib/RT/GroupMember.pm b/rt/lib/RT/GroupMember.pm index 69de50b42..8de1a73fe 100755 --- a/rt/lib/RT/GroupMember.pm +++ b/rt/lib/RT/GroupMember.pm @@ -1,136 +1,189 @@ -# $Header: /home/cvs/cvsroot/freeside/rt/lib/RT/GroupMember.pm,v 1.1 2002-08-12 06:17:07 ivan Exp $ -# Copyright 2000 Jesse Vincent -# Released under the terms of the GNU Public License +# BEGIN LICENSE BLOCK +# +# Copyright (c) 1996-2003 Jesse Vincent +# +# (Except where explictly superceded by other copyright notices) +# +# This work is made available to you under the terms of Version 2 of +# the GNU General Public License. A copy of that license should have +# been provided with this software, but in any event can be snarfed +# from www.gnu.org. +# +# This work is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# Unless otherwise specified, all modifications, corrections or +# extensions to this work which alter its source code become the +# property of Best Practical Solutions, LLC when submitted for +# inclusion in the work. +# +# +# END LICENSE BLOCK +# Autogenerated by DBIx::SearchBuilder factory (by ) +# WARNING: THIS FILE IS AUTOGENERATED. ALL CHANGES TO THIS FILE WILL BE LOST. +# +# !! DO NOT EDIT THIS FILE !! +# + +use strict; + =head1 NAME - RT::GroupMember - a member of an RT Group +RT::GroupMember -=head1 SYNOPSIS -RT::GroupMember should never be called directly. It should generally -only be accessed through the helper functions in RT::Group; +=head1 SYNOPSIS =head1 DESCRIPTION +=head1 METHODS +=cut +package RT::GroupMember; +use RT::Record; -=head1 METHODS +use vars qw( @ISA ); +@ISA= qw( RT::Record ); -=begin testing +sub _Init { + my $self = shift; -ok (require RT::TestHarness); -ok (require RT::GroupMember); + $self->Table('GroupMembers'); + $self->SUPER::_Init(@_); +} -=end testing -=cut -package RT::GroupMember; -use RT::Record; -use vars qw|@ISA|; -@ISA= qw(RT::Record); -# {{{ sub _Init -sub _Init { - my $self = shift; - $self->{'table'} = "GroupMembers"; - return($self->SUPER::_Init(@_)); -} -# }}} +=item Create PARAMHASH -# {{{ sub _Accessible -sub _Accessible { - my $self = shift; - my %Cols = ( - GroupId => 'read', - UserId => 'read' - ); +Create takes a hash of values and creates a row in the database: + + int(11) 'GroupId'. + int(11) 'MemberId'. + +=cut - return $self->SUPER::_Accessible(@_, %Cols); -} -# }}} -# {{{ sub Create -# a helper method for Add sub Create { my $self = shift; - my %args = ( GroupId => undef, - UserId => undef, - @_ - ); - - unless( $self->CurrentUser->HasSystemRight('AdminGroups')) { - return (0, 'Permission Denied'); - } - - return ($self->SUPER::Create(GroupId => $args{'GroupId'}, - UserId => $args{'UserId'})) + my %args = ( + GroupId => '0', + MemberId => '0', + + @_); + $self->SUPER::Create( + GroupId => $args{'GroupId'}, + MemberId => $args{'MemberId'}, +); + } -# }}} -# {{{ sub Add -=head2 Add -Takes a paramhash of UserId and GroupId. makes that user a memeber -of that group +=item id + +Returns the current value of id. +(In the database, id is stored as int(11).) + =cut -sub Add { - my $self = shift; - return ($self->Create(@_)); -} -# }}} -# {{{ sub Delete +=item GroupId + +Returns the current value of GroupId. +(In the database, GroupId is stored as int(11).) + + + +=item SetGroupId VALUE + -=head2 Delete +Set GroupId to VALUE. +Returns (1, 'Status message') on success and (0, 'Error Message') on failure. +(In the database, GroupId will be stored as a int(11).) -Takes no arguments. deletes the currently loaded member from the -group in question. =cut -sub Delete { - my $self = shift; - unless ($self->CurrentUser->HasSystemRight('AdminGroups')) { - return (0, 'Permission Denied'); - } - return($self->SUPER::Delete(@_)); -} -# }}} +=item MemberId + +Returns the current value of MemberId. +(In the database, MemberId is stored as int(11).) + -# {{{ sub UserObj -=head2 UserObj +=item SetMemberId VALUE + + +Set MemberId to VALUE. +Returns (1, 'Status message') on success and (0, 'Error Message') on failure. +(In the database, MemberId will be stored as a int(11).) -Returns an RT::User object for the user specified by $self->UserId =cut -sub UserObj { - my $self = shift; - unless (defined ($self->{'user_obj'})) { - $self->{'user_obj'} = new RT::User($self->CurrentUser); - $self->{'user_obj'}->Load($self->UserId); - } - return($self->{'user_obj'}); -} -# {{{ sub _Set -sub _Set { - my $self = shift; - unless ($self->CurrentUser->HasSystemRight('AdminGroups')) { - return (0, 'Permission Denied'); - } - return($self->SUPER::_Set(@_)); -} -# }}} + +sub _ClassAccessible { + { + + id => + {read => 1, type => 'int(11)', default => ''}, + GroupId => + {read => 1, write => 1, type => 'int(11)', default => '0'}, + MemberId => + {read => 1, write => 1, type => 'int(11)', default => '0'}, + + } +}; + + + eval "require RT::GroupMember_Overlay"; + if ($@ && $@ !~ qr{^Can't locate RT/GroupMember_Overlay.pm}) { + die $@; + }; + + eval "require RT::GroupMember_Vendor"; + if ($@ && $@ !~ qr{^Can't locate RT/GroupMember_Vendor.pm}) { + die $@; + }; + + eval "require RT::GroupMember_Local"; + if ($@ && $@ !~ qr{^Can't locate RT/GroupMember_Local.pm}) { + die $@; + }; + + + + +=head1 SEE ALSO + +This class allows "overlay" methods to be placed +into the following files _Overlay is for a System overlay by the original author, +_Vendor is for 3rd-party vendor add-ons, while _Local is for site-local customizations. + +These overlay files can contain new subs or subs to replace existing subs in this module. + +If you'll be working with perl 5.6.0 or greater, each of these files should begin with the line + + no warnings qw(redefine); + +so that perl does not kick and scream when you redefine a subroutine or variable in your overlay. + +RT::GroupMember_Overlay, RT::GroupMember_Vendor, RT::GroupMember_Local + +=cut + + +1;