X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=rt%2Flib%2FRT%2FGroups.pm;h=f8dac135bb352f7a0e4cea033d8611b9a242dcb3;hb=7b125e587a4d1ee0aca692e23ea7897f671855ae;hp=f44f1fdb3b39fb3d59f2ab8dc24adbe2a55ad0ae;hpb=c0567c688084e89fcd11bf82348b6c418f1254ac;p=freeside.git diff --git a/rt/lib/RT/Groups.pm b/rt/lib/RT/Groups.pm index f44f1fdb3..f8dac135b 100755 --- a/rt/lib/RT/Groups.pm +++ b/rt/lib/RT/Groups.pm @@ -1,100 +1,138 @@ -#$Header: /home/cvs/cvsroot/freeside/rt/lib/RT/Groups.pm,v 1.1 2002-08-12 06:17:07 ivan Exp $ +# BEGIN BPS TAGGED BLOCK {{{ +# +# COPYRIGHT: +# +# This software is Copyright (c) 1996-2009 Best Practical Solutions, LLC +# +# +# (Except where explicitly superseded by other copyright notices) +# +# +# LICENSE: +# +# 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. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +# 02110-1301 or visit their web page on the internet at +# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html. +# +# +# CONTRIBUTION SUBMISSION POLICY: +# +# (The following paragraph is not intended to limit the rights granted +# to you to modify and distribute this software under the terms of +# the GNU General Public License and is only of importance to you if +# you choose to contribute your changes and enhancements to the +# community by submitting them to Best Practical Solutions, LLC.) +# +# By intentionally submitting any modifications, corrections or +# derivatives to this work, or any other work intended for use with +# Request Tracker, to Best Practical Solutions, LLC, you confirm that +# you are the copyright holder for those contributions and you grant +# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable, +# royalty-free, perpetual, license to use, copy, create derivative +# works based on those contributions, and sublicense and distribute +# those contributions and any derivatives thereof. +# +# END BPS TAGGED 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::Groups - a collection of RT::Group objects +=head1 NAME + RT::Groups -- Class Description + =head1 SYNOPSIS - use RT::Groups; - my $groups = $RT::Groups->new($CurrentUser); - $groups->LimitToReal(); - while (my $group = $groups->Next()) { - print $group->Id ." is a group id\n"; - } + use RT::Groups =head1 DESCRIPTION =head1 METHODS - -=begin testing - -ok (require RT::TestHarness); -ok (require RT::Groups); - -=end testing - =cut package RT::Groups; -use RT::EasySearch; -use RT::Groups; -@ISA= qw(RT::EasySearch); +use RT::SearchBuilder; +use RT::Group; -# {{{ sub _Init +use vars qw( @ISA ); +@ISA= qw(RT::SearchBuilder); -sub _Init { - my $self = shift; - $self->{'table'} = "Groups"; - $self->{'primary_key'} = "id"; - $self->OrderBy( ALIAS => 'main', - FIELD => 'Name', - ORDER => 'ASC'); +sub _Init { + my $self = shift; + $self->{'table'} = 'Groups'; + $self->{'primary_key'} = 'id'; - return ( $self->SUPER::_Init(@_)); + return ( $self->SUPER::_Init(@_) ); } -# }}} -# {{{ LimitToReal -=head2 LimitToReal +=head2 NewItem -Make this groups object return only "real" groups, which can be -granted rights and have members assigned to them +Returns an empty new RT::Group item =cut -sub LimitToReal { +sub NewItem { my $self = shift; + return(RT::Group->new($self->CurrentUser)); +} - return ($self->Limit( FIELD => 'Pseudo', - VALUE => '0', - OPERATOR => '=')); + eval "require RT::Groups_Overlay"; + if ($@ && $@ !~ qr{^Can't locate RT/Groups_Overlay.pm}) { + die $@; + }; -} -# }}} + eval "require RT::Groups_Vendor"; + if ($@ && $@ !~ qr{^Can't locate RT/Groups_Vendor.pm}) { + die $@; + }; -# {{{ sub LimitToPseudo + eval "require RT::Groups_Local"; + if ($@ && $@ !~ qr{^Can't locate RT/Groups_Local.pm}) { + die $@; + }; -=head2 LimitToPseudo -Make this groups object return only "pseudo" groups, which can be -granted rights but whose membership lists are determined dynamically. +=head1 SEE ALSO -=cut - - sub LimitToPseudo { - my $self = shift; +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. - return ($self->Limit( FIELD => 'Pseudo', - VALUE => '1', - OPERATOR => '=')); +These overlay files can contain new subs or subs to replace existing subs in this module. -} -# }}} +Each of these files should begin with the line -# {{{ sub NewItem -sub NewItem { - my $self = shift; - return (RT::Group->new($self->CurrentUser)); -} -# }}} + no warnings qw(redefine); +so that perl does not kick and scream when you redefine a subroutine or variable in your overlay. -1; +RT::Groups_Overlay, RT::Groups_Vendor, RT::Groups_Local +=cut + + +1;