diff options
Diffstat (limited to 'rt/lib/RT/Groups.pm')
| -rwxr-xr-x | rt/lib/RT/Groups.pm | 135 | 
1 files changed, 60 insertions, 75 deletions
| diff --git a/rt/lib/RT/Groups.pm b/rt/lib/RT/Groups.pm index 29f12a5a0..f44f1fdb3 100755 --- a/rt/lib/RT/Groups.pm +++ b/rt/lib/RT/Groups.pm @@ -1,115 +1,100 @@ -# BEGIN LICENSE BLOCK -#  -# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com> -#  -# (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 <jesse@bestpractical.com>) -# WARNING: THIS FILE IS AUTOGENERATED. ALL CHANGES TO THIS FILE WILL BE LOST.   -#  -# !! DO NOT EDIT THIS FILE !! -# - -use strict; - +#$Header: /home/cvs/cvsroot/freeside/rt/lib/RT/Groups.pm,v 1.1 2002-08-12 06:17:07 ivan Exp $  =head1 NAME -  RT::Groups -- Class Description -  +  RT::Groups - a collection of RT::Group objects +  =head1 SYNOPSIS -  use RT::Groups +  use RT::Groups; +  my $groups = $RT::Groups->new($CurrentUser); +  $groups->LimitToReal(); +  while (my $group = $groups->Next()) { +     print $group->Id ." is a group id\n"; +  }  =head1 DESCRIPTION  =head1 METHODS -=cut - -package RT::Groups; -use RT::SearchBuilder; -use RT::Group; +=begin testing -use vars qw( @ISA ); -@ISA= qw(RT::SearchBuilder); +ok (require RT::TestHarness); +ok (require RT::Groups); +=end testing -sub _Init { -    my $self = shift; -    $self->{'table'} = 'Groups'; -    $self->{'primary_key'} = 'id'; +=cut +package RT::Groups; +use RT::EasySearch; +use RT::Groups; -    return ( $self->SUPER::_Init(@_) ); -} +@ISA= qw(RT::EasySearch); +# {{{ sub _Init -=item NewItem +sub _Init {  +  my $self = shift; +  $self->{'table'} = "Groups"; +  $self->{'primary_key'} = "id"; -Returns an empty new RT::Group item +  $self->OrderBy( ALIAS => 'main', +		  FIELD => 'Name', +		  ORDER => 'ASC'); -=cut -sub NewItem { -    my $self = shift; -    return(RT::Group->new($self->CurrentUser)); +  return ( $self->SUPER::_Init(@_));  } +# }}} -        eval "require RT::Groups_Overlay"; -        if ($@ && $@ !~ qr{^Can't locate RT/Groups_Overlay.pm}) { -            die $@; -        }; +# {{{ LimitToReal -        eval "require RT::Groups_Vendor"; -        if ($@ && $@ !~ qr{^Can't locate RT/Groups_Vendor.pm}) { -            die $@; -        }; +=head2 LimitToReal -        eval "require RT::Groups_Local"; -        if ($@ && $@ !~ qr{^Can't locate RT/Groups_Local.pm}) { -            die $@; -        }; +Make this groups object return only "real" groups, which can be +granted rights and have members assigned to them +=cut +sub LimitToReal { +    my $self = shift; +    return ($self->Limit( FIELD => 'Pseudo', +			  VALUE => '0', +			  OPERATOR => '=')); -=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.   +# {{{ sub LimitToPseudo -These overlay files can contain new subs or subs to replace existing subs in this module. +=head2 LimitToPseudo -If you'll be working with perl 5.6.0 or greater, each of these files should begin with the line  +Make this groups object return only "pseudo" groups, which can be +granted rights but whose membership lists are determined dynamically. -   no warnings qw(redefine); +=cut +   +  sub LimitToPseudo { +    my $self = shift; -so that perl does not kick and scream when you redefine a subroutine or variable in your overlay. +    return ($self->Limit( FIELD => 'Pseudo', +			  VALUE => '1', +			  OPERATOR => '=')); -RT::Groups_Overlay, RT::Groups_Vendor, RT::Groups_Local +} +# }}} -=cut +# {{{ sub NewItem  +sub NewItem  { +  my $self = shift; +  return (RT::Group->new($self->CurrentUser)); +} +# }}}  1; + | 
