diff options
Diffstat (limited to 'rt/lib/RT/Links.pm')
-rw-r--r-- | rt/lib/RT/Links.pm | 153 |
1 files changed, 64 insertions, 89 deletions
diff --git a/rt/lib/RT/Links.pm b/rt/lib/RT/Links.pm index 7a1773af9..a8180caf0 100644 --- a/rt/lib/RT/Links.pm +++ b/rt/lib/RT/Links.pm @@ -1,115 +1,90 @@ -# 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/Links.pm,v 1.1 2002-08-12 06:17:07 ivan Exp $ =head1 NAME - RT::Links -- Class Description - + RT::Links - A collection of Link objects + =head1 SYNOPSIS - use RT::Links + use RT::Links; + my $links = new RT::Links($CurrentUser); =head1 DESCRIPTION =head1 METHODS -=cut -package RT::Links; +=begin testing -use RT::SearchBuilder; -use RT::Link; - -use vars qw( @ISA ); -@ISA= qw(RT::SearchBuilder); +ok (require RT::TestHarness); +ok (require RT::Links); +=end testing -sub _Init { - my $self = shift; - $self->{'table'} = 'Links'; - $self->{'primary_key'} = 'id'; +=cut +package RT::Links; +use RT::EasySearch; +use RT::Link; - return ( $self->SUPER::_Init(@_) ); -} +@ISA= qw(RT::EasySearch); +# {{{ sub _Init +sub _Init { + my $self = shift; + + $self->{'table'} = "Links"; + $self->{'primary_key'} = "id"; -=item NewItem -Returns an empty new RT::Link item + return ( $self->SUPER::_Init(@_)); +} +# }}} -=cut +# {{{ sub Limit +sub Limit { + my $self = shift; + my %args = ( ENTRYAGGREGATOR => 'AND', + OPERATOR => '=', + @_); + + #if someone's trying to search for tickets, try to resolve the uris for searching. + + if ( ( $args{'OPERATOR'} eq '=') and + ( $args{'FIELD'} eq 'Base') or ($args{'FIELD'} eq 'Target') + ) { + my $dummy = $self->NewItem(); + $uri = $dummy->CanonicalizeURI($args{'VALUE'}); + } + + + # If we're limiting by target, order by base + # (Order by the thing that's changing) + + if ( ($args{'FIELD'} eq 'Target') or + ($args{'FIELD'} eq 'LocalTarget') ) { + $self->OrderBy (ALIAS => 'main', + FIELD => 'Base', + ORDER => 'ASC'); + } + elsif ( ($args{'FIELD'} eq 'Base') or + ($args{'FIELD'} eq 'LocalBase') ) { + $self->OrderBy (ALIAS => 'main', + FIELD => 'Target', + ORDER => 'ASC'); + } + + + $self->SUPER::Limit(%args); +} +# }}} -sub NewItem { +# {{{ sub NewItem +sub NewItem { my $self = shift; return(RT::Link->new($self->CurrentUser)); } +# }}} + 1; - eval "require RT::Links_Overlay"; - if ($@ && $@ !~ qr{^Can't locate RT/Links_Overlay.pm}) { - die $@; - }; - - eval "require RT::Links_Vendor"; - if ($@ && $@ !~ qr{^Can't locate RT/Links_Vendor.pm}) { - die $@; - }; - - eval "require RT::Links_Local"; - if ($@ && $@ !~ qr{^Can't locate RT/Links_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::Links_Overlay, RT::Links_Vendor, RT::Links_Local - -=cut - - -1; |