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; + |