[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