import of rt 3.0.4
[freeside.git] / rt / html / index.html
diff --git a/rt/html/index.html b/rt/html/index.html
new file mode 100644 (file)
index 0000000..39eac8d
--- /dev/null
@@ -0,0 +1,84 @@
+%# 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
+<& /Elements/Header, Title=>loc("RT at a glance"), Refresh => $session{'home_refresh_interval'} &>
+<& /Elements/Tabs, 
+    current_toptab => '', 
+    Title=>loc("RT at a glance") &>
+<TABLE BORDER=0 WIDTH=100%>
+<TR VALIGN=TOP>
+<TD WIDTH=70%>
+<& /Elements/MyTickets &>
+<BR>
+<& /Elements/MyRequests &>
+</TD>
+<TD>
+<& /Elements/Quicksearch &>
+<BR>
+<form method=get action="index.html">
+<& /Elements/Refresh, Name => 'HomeRefreshInterval', Default => $session {'home_refresh_interval'} &>
+<div align=right><input type=submit value="<&|/l&>Go!</&>"></div>
+</form>
+</TD>
+</TR>
+</TABLE>
+<%init>
+if ( $ARGS{'q'} ) {
+    my $query = $ARGS{'q'};
+
+    if ( $query =~ m/^\s*(\d+)\s*$/ ) {
+        $m->redirect("$RT::WebPath/Ticket/Display.html?id=$1");
+    }
+
+    $session{'tickets'} = RT::Tickets->new( $session{'CurrentUser'} );
+
+    if ( $query =~ m/\@/ ) {
+        $session{'tickets'}->LimitRequestor( VALUE    => $query,
+                                             OPERATOR => '=', );
+        $m->redirect("$RT::WebPath/Search/Listing.html");
+    }
+
+    #
+    # Any search on queue name or subject will be for new/open tickets
+    # only.
+    #
+    $session{'tickets'}->LimitStatus( VALUE    => $_,
+                                      OPERATOR => '=', ) for qw(open new);
+
+    my $queue = RT::Queue->new( $session{'CurrentUser'} );
+    if ( $queue->Load($query) && $queue->Id ) {
+        $session{'tickets'}->LimitQueue( VALUE    => $queue->Id,
+                                         OPERATOR => '=', );
+        $m->redirect("$RT::WebPath/Search/Listing.html");
+    }
+    $session{'tickets'}->LimitSubject( VALUE    =>  $query,
+                                       OPERATOR => 'LIKE' );
+
+    $m->redirect("$RT::WebPath/Search/Listing.html");
+}
+
+if ($ARGS{'HomeRefreshInterval'}) {
+       $session{'home_refresh_interval'} = $ARGS{'HomeRefreshInterval'};
+}
+
+</%init>