%# BEGIN BPS TAGGED BLOCK {{{ %# %# COPYRIGHT: %# %# This software is Copyright (c) 1996-2005 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., 675 Mass Ave, Cambridge, MA 02139, USA. %# %# %# 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 }}} <& /Elements/Header, Title=>loc("RT at a glance"), Refresh => $session{'home_refresh_interval'} &> <& /Elements/Tabs, current_toptab => '', Title=>loc("RT at a glance") &> <& /Elements/ListActions, actions => \@results &>
<& /Elements/MyTickets &>
<& /Elements/MyRequests &>
<& /Elements/QuickCreate &>
<& /Elements/Quicksearch &>
<& /Elements/Refresh, Name => 'HomeRefreshInterval', Default => $session {'home_refresh_interval'} &>
<%init> my @results; if ($ARGS{'QuickCreate'} ) { my $ticket = RT::Ticket->new($session{'CurrentUser'}); my ($tid, $trans, $tmsg) = $ticket->Create(Queue => $ARGS{'Queue'}, Owner => $ARGS{'Owner'}, Subject => $ARGS{'Subject'}); push (@results, $tmsg); } if ( $ARGS{'q'} ) { my $query = $ARGS{'q'}; if ( $query =~ m/^\s*(\d+)\s*$/ ) { $m->comp("/Ticket/Display.html" , id=> $1); return(); } if ($m->comp('/Elements/Callback', _CallbackName => 'SearchPreFilter', query => $query, %ARGS)) { return(); } $session{'tickets'} = RT::Tickets->new( $session{'CurrentUser'} ); if ( $query =~ m/\@/ ) { $m->comp("/Search/Results.html", Query => "Requestor = '$query'"); return(); } # # Any search on queue name or subject will be for new/open tickets # only. # my $status = "Status = 'new' OR Status = 'open'"; my $queue = RT::Queue->new( $session{'CurrentUser'} ); if ( $queue->Load($query) && $queue->Id ) { $m->comp("/Search/Results.html", Query => "Queue = '" . $queue->Id . "' AND ($status)"); return(); } $m->comp("/Search/Results.html", Query => "Subject LIKE '$query' AND ($status)"); return(); } if ($ARGS{'HomeRefreshInterval'}) { $session{'home_refresh_interval'} = $ARGS{'HomeRefreshInterval'}; } %# -->