%# BEGIN LICENSE BLOCK %# %# Copyright (c) 1996-2002 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 <& /RTIR/Elements/Header, Title => $title &> <& /RTIR/Tools/Elements/Tabs, current_toptab => 'RTIR/Tools/Lookup.html', current_tab => 'RTIR/Tools/Lookup.html?NewSearch=1', current_subtab => $current_subtab, Title => $title, &> % if ( $TicketObj->id ) { <&| /Widgets/TitleBox, title => loc("Current [_1]: #[_2]", $TicketType, $ticket), class => 'ticket-info-basics' &> <& /Elements/TicketList, Query => "id = $ticket", Format => RT->Config->Get('RTIRSearchResultFormats')->{$TicketType . 'Default'}, ShowNavigation => 0 &> % } % if ( ! $HideResults ) { <& Elements/LookupRelatedTickets, TicketObj => $TicketObj, LookupType => $type, q => $q &> % }

<&|/l&>Look Up Information

<& Elements/Tools, %ARGS, q => $q, TicketType => $TicketType, TicketObj => $TicketObj, WhoisServer => $server, handparse => $handparse, servers => $servers &> <%INIT> # Redirect when necessary if ( $ARGS{'InvestigateTo'} ) { my $requestors = join ', ', map /^Requestorbox-(.*)/, keys %ARGS; return RT::Interface::Web::Redirect( RT->Config->Get('WebURL')."RTIR/Create.html?" . $m->comp('/Elements/QueryString', Queue => 'Investigations', Requestors => $requestors, Incident => $ARGS{'incidentid'}, ) ); } elsif ( $ARGS{'InvestigateWithScriptedActions'} ) { return RT::Interface::Web::Redirect( RT->Config->Get('WebURL')."RTIR/Tools/ScriptedAction.html?" . $m->comp('/Elements/QueryString', %ARGS ) ); } my $title = loc("Lookup '[_1]' using server [_2]", $q, $server); my $max_age = -60; if ( my $tmp = RT->Config->Get('RTIR_OldestRelatedTickets') ) { $max_age = 0 - $tmp; } my $now = RT::Date->new( $session{'CurrentUser'} ); $now->SetToNow; $now->AddDays( $max_age ); $session{'tickets'} = RT::Tickets->new( $session{'CurrentUser'} ); my $current_subtab = 'RTIR/Tools/Lookup.html'; if ( $q ) { $current_subtab .= '?'. $m->comp('/Elements/QueryString', q => $q, server => $server ); my $query; if ( $type && RT::IR->CustomFields( Field => $type ) ) { $query = "'CF.{$type}' = '$q'" } else { $query = "( ContentType = 'text/plain' OR ContentType = 'text' OR ContentType = 'text/html' )" . " AND Content LIKE '$q'"; # apply transaction date search only if it's FTS as otherwise # it can ruin performance of mysql optimizer rather than help $query = "( $query ) AND TransactionDate > '". $now->ISO ."'" } my ($val, $msg) = $session{'tickets'}->FromSQL( $query ); $RT::Logger->warning( $msg ) unless $val; } my $TicketObj = RT::Ticket->new($session{CurrentUser}); my $TicketType; if ( $ticket ) { $TicketObj = LoadTicket( $ticket ); $ticket = $ARGS{'ticket'} = $TicketObj->id; $TicketType = RT::IR::TicketType( Ticket => $TicketObj ); } <%ARGS> $servers => RT->Config->Get('whois') $server => undef $handparse => 1 $q => undef $type => undef $ticket => undef $HideResults => 0