[Rt-commit] r5919 - in rtir/branches/2.1-EXPERIMENTAL: . html/Callbacks/RTIR/Search/Elements/PickBasics html/RTIR/Elements html/RTIR/Search/Elements

ruz at bestpractical.com ruz at bestpractical.com
Tue Sep 12 17:46:13 EDT 2006


Author: ruz
Date: Tue Sep 12 17:45:59 2006
New Revision: 5919

Added:
   rtir/branches/2.1-EXPERIMENTAL/html/RTIR/Search/Elements/Tabs
   rtir/branches/2.1-EXPERIMENTAL/html/RTIR/Search/index.html
Modified:
   rtir/branches/2.1-EXPERIMENTAL/   (props changed)
   rtir/branches/2.1-EXPERIMENTAL/html/Callbacks/RTIR/Search/Elements/PickBasics/Default
   rtir/branches/2.1-EXPERIMENTAL/html/RTIR/Elements/Tabs
   rtir/branches/2.1-EXPERIMENTAL/html/RTIR/Search/Results.html

Log:
 r1562 at cubic-pc:  cubic | 2006-09-13 01:33:42 +0400
 * add generic search interface that has Queues and Status selectors


Modified: rtir/branches/2.1-EXPERIMENTAL/html/Callbacks/RTIR/Search/Elements/PickBasics/Default
==============================================================================
--- rtir/branches/2.1-EXPERIMENTAL/html/Callbacks/RTIR/Search/Elements/PickBasics/Default	(original)
+++ rtir/branches/2.1-EXPERIMENTAL/html/Callbacks/RTIR/Search/Elements/PickBasics/Default	Tue Sep 12 17:45:59 2006
@@ -1,5 +1,7 @@
 <%INIT>
-return unless $m->request_comp->path =~ m{^/RTIR};
+my $path = $m->request_comp->path;
+return unless $path =~ m{^/RTIR};
+return if $path =~ m{^/RTIR/Search/index.html};
 foreach( @$Conditions ) {
     next unless ($_->{'Name'}||'') =~ /^(?:Queue|Status)$/;
     $_ = undef;

Modified: rtir/branches/2.1-EXPERIMENTAL/html/RTIR/Elements/Tabs
==============================================================================
--- rtir/branches/2.1-EXPERIMENTAL/html/RTIR/Elements/Tabs	(original)
+++ rtir/branches/2.1-EXPERIMENTAL/html/RTIR/Elements/Tabs	Tue Sep 12 17:45:59 2006
@@ -49,6 +49,8 @@
            path  => '' },
     B => { title => loc('RTIR Home'),
            path => 'RTIR/index.html' },
+    BA => { title => loc('Search'),
+           path => 'RTIR/Search/index.html' },
     C => { title => loc('Incidents'),
            path => 'RTIR/Search/Results.html?Queue=Incidents' },
     D => { title => loc('Incident Reports'),

Added: rtir/branches/2.1-EXPERIMENTAL/html/RTIR/Search/Elements/Tabs
==============================================================================
--- (empty file)
+++ rtir/branches/2.1-EXPERIMENTAL/html/RTIR/Search/Elements/Tabs	Tue Sep 12 17:45:59 2006
@@ -0,0 +1,45 @@
+<& '/RTIR/Elements/Tabs',
+    %ARGS,
+    current_toptab => 'RTIR/Search/index.html',
+    tabs        => $tabs,
+    current_tab => $current_tab,
+&>
+<%INIT>
+my $tabs = {
+    A => {
+        title => loc('New Query'),
+        path => 'RTIR/Search/index.html?NewQuery=1',
+    },
+    B => {
+        title => loc('Build Search'),
+        path => 'RTIR/Search/index.html',
+        add_query => 1,
+    },
+    C => {
+        title => loc('Show Results'),
+        path => 'RTIR/Search/Results.html',
+        add_query => 1,
+    },
+};
+
+if ( $QueryString ) {
+    foreach ( grep $_ && $_->{add_query}, values %$tabs ) {
+        if ( $_->{'path'} eq $current_tab ) {
+            $current_tab .= ($current_tab =~ /\?/? '&': '?')
+                . $QueryString;
+        }
+        $_->{'path'} .= ($_->{'path'} =~ /\?/? '&': '?')
+            . $QueryString;
+    }
+}
+
+</%INIT>
+<%ARGS>
+$current_tab    => ''
+
+$subtabs        => {}
+$current_subtab => ''
+
+$QueryString    => ''
+$BaseQuery      => ''
+</%ARGS>

Modified: rtir/branches/2.1-EXPERIMENTAL/html/RTIR/Search/Results.html
==============================================================================
--- rtir/branches/2.1-EXPERIMENTAL/html/RTIR/Search/Results.html	(original)
+++ rtir/branches/2.1-EXPERIMENTAL/html/RTIR/Search/Results.html	Tue Sep 12 17:45:59 2006
@@ -44,6 +44,7 @@
 %# 
 %# }}} END BPS TAGGED BLOCK
 <& /Elements/Header, Title => $title, Refresh => $session{'tickets_refresh_interval'} || 0 &>
+% if ( $Type ) {
 <& '/RTIR/'.$Type.'/Elements/Tabs',
     Title       => $title,
     BaseQuery   => $BaseQuery,
@@ -51,6 +52,16 @@
 
     current_tab => $current_tab,
 &>
+% } else {
+<& '/RTIR/Search/Elements/Tabs',
+    Title       => $title,
+
+    BaseQuery   => $BaseQuery,
+    QueryString => $QueryString,
+
+    current_tab => 'RTIR/Search/Results.html',
+&>
+% }
 
 <& /Elements/ListActions, actions => \@results &>
 
@@ -72,8 +83,12 @@
 <%INIT>
 my $title = loc("Results");
 
-my ($Type)   = $m->comp( '/RTIR/Elements/Type', Queue => $Queue );
-$Format    ||= RT->Config->Get('RTIRSearchResultFormats')->{ $Type . 'Default' };
+my $Type = ($m->comp( '/RTIR/Elements/Type', Queue => $Queue ))[0] || '';
+$Format  ||= RT->Config->Get('RTIRSearchResultFormats')->{ $Type . 'Default' };
+if ( $Type ) {
+    $BaseQuery ||= $m->comp( '/RTIR/Elements/BaseQuery', Queue => $Queue );
+    $Query     ||= $m->comp( '/RTIR/Elements/NewQuery', Queue => $Queue );
+}
 
 my $QueryString = $m->comp( '/Elements/QueryString',
                             Query     => $Query,
@@ -90,8 +105,8 @@
 <%ARGS>
 $Queue     => ''
 
-$BaseQuery => $m->comp( '/RTIR/Elements/BaseQuery', Queue => $Queue )
-$Query     => $m->comp( '/RTIR/Elements/NewQuery', Queue => $Queue )
+$BaseQuery => ''
+$Query     => undef
 $Format    => undef
 $Rows      => 50
 $Page      => 1

Added: rtir/branches/2.1-EXPERIMENTAL/html/RTIR/Search/index.html
==============================================================================
--- (empty file)
+++ rtir/branches/2.1-EXPERIMENTAL/html/RTIR/Search/index.html	Tue Sep 12 17:45:59 2006
@@ -0,0 +1,91 @@
+%# {{{ BEGIN BPS TAGGED BLOCK
+%#
+%# COPYRIGHT:
+%#
+%# This software is Copyright (c) 1996-2004 Best Practical Solutions, LLC
+%#                                          <jesse at bestpractical.com>
+%#
+%# (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 => $title &>
+
+<& /RTIR/Search/Elements/Tabs,
+   Title => $title,
+
+   BaseQuery   => $BaseQuery,
+   QueryString => $QueryString,
+
+   current_tab => 'RTIR/Search/index.html',
+&>
+
+<& Elements/BuildQuery,
+    %query_state,
+
+    BaseQuery  => $BaseQuery,
+    ResultPage => $ResultPage,
+
+    actions => \@results, 
+&>
+
+<%INIT>
+
+my %query_state = $m->comp('Elements/ProcessQuery',
+    %ARGS,
+    BaseQuery  => $BaseQuery,
+    ResultPage => $ResultPage,
+);
+
+my @results = @{ delete $query_state{'results'} };
+
+my $QueryString = $m->comp( '/Elements/QueryString', %{ $query_state{'query'} } );
+</%INIT>
+
+<%ARGS>
+$title      => loc("Build Search")
+$ResultPage => 'RTIR/Search/Results.html'
+$NewQuery   => 0
+
+$BaseQuery  => ''
+$Query      => ''
+$Format     => undef
+$Rows       => 50
+$Page       => 1
+$OrderBy    => 'id'
+$Order      => 'ASC'
+</%ARGS>


More information about the Rt-commit mailing list