[Rt-commit] r4598 - in rtir/branches/1.9-EXPERIMENTAL: .
html/Callbacks/RTIR/Search/Elements/PickCFs
html/RTIR/Elements html/RTIR/Search
jesse at bestpractical.com
jesse at bestpractical.com
Tue Feb 28 01:14:02 EST 2006
Author: jesse
Date: Tue Feb 28 01:14:00 2006
New Revision: 4598
Added:
rtir/branches/1.9-EXPERIMENTAL/html/Callbacks/RTIR/Search/Elements/PickCFs/
rtir/branches/1.9-EXPERIMENTAL/html/Callbacks/RTIR/Search/Elements/PickCFs/MassageCustomFields
Modified:
rtir/branches/1.9-EXPERIMENTAL/ (props changed)
rtir/branches/1.9-EXPERIMENTAL/html/RTIR/Elements/QueueTabs
rtir/branches/1.9-EXPERIMENTAL/html/RTIR/Search/Elements/BuildQuery
rtir/branches/1.9-EXPERIMENTAL/html/RTIR/Search/Elements/ProcessQuery
rtir/branches/1.9-EXPERIMENTAL/html/RTIR/Search/Elements/RefineTabs
rtir/branches/1.9-EXPERIMENTAL/html/RTIR/Search/Elements/ShowResults
rtir/branches/1.9-EXPERIMENTAL/html/RTIR/Search/Refine.html
rtir/branches/1.9-EXPERIMENTAL/html/RTIR/Search/Results.html
Log:
r24797 at truegrounds: jesse | 2006-02-28 01:12:43 -0500
* A bunch of cleanup to RTIR query building and display. We now have a working spreadsheet and RSS feed.
* Refining is now more sane
Added: rtir/branches/1.9-EXPERIMENTAL/html/Callbacks/RTIR/Search/Elements/PickCFs/MassageCustomFields
==============================================================================
--- (empty file)
+++ rtir/branches/1.9-EXPERIMENTAL/html/Callbacks/RTIR/Search/Elements/PickCFs/MassageCustomFields Tue Feb 28 01:14:00 2006
@@ -0,0 +1,8 @@
+<%args>
+$CustomFields => undef
+
+</%args>
+<%init>
+# We never want to see the RTIR custom fields in the edity ui
+$CustomFields->Limit( FIELD => 'Name', OPERATOR => 'NOT LIKE', '_RTIR');
+</%init>
Modified: rtir/branches/1.9-EXPERIMENTAL/html/RTIR/Elements/QueueTabs
==============================================================================
--- rtir/branches/1.9-EXPERIMENTAL/html/RTIR/Elements/QueueTabs (original)
+++ rtir/branches/1.9-EXPERIMENTAL/html/RTIR/Elements/QueueTabs Tue Feb 28 01:14:00 2006
@@ -34,19 +34,20 @@
&>
<%INIT>
-if( $QueryString =~ s/^&// ) {
+if ( $QueryString =~ s/^&// ) {
$RT::Logger->warning("queue string has leading &");
}
-my ($Type) = $m->comp('/RTIR/Elements/Type', Queue => $QueueName);
+my ($Type) = $m->comp( '/RTIR/Elements/Type', Queue => $QueueName );
-my $EscapedQueueName = $m->comp('/Elements/QueryString', Queue => $QueueName );
-my $current_toptab = 'RTIR/Search/Results.html?'. $EscapedQueueName;
+my $EscapedQueueName
+ = $m->comp( '/Elements/QueryString', Queue => $QueueName );
+my $current_toptab = 'RTIR/Search/Results.html?' . $EscapedQueueName;
my $tabs = {};
-my ($actions, $mytab);
-my $searchtabs = { } ;
+my ( $actions, $mytab );
+my $searchtabs = {};
if ( $Ticket && $Ticket->QueueObj->Name eq $QueueName ) {
my $id = $Ticket->id;
@@ -56,57 +57,78 @@
my $item_map = $session{'tickets'}->ItemMap;
# Don't display prev links if we're on the first ticket
- if ( $item_map->{ $id }->{'prev'} ) {
- $searchtabs->{'_a'} = { class => "nav",
- path => "RTIR/Display.html?id=" . $item_map->{'first'},
- title => '<< ' . loc('First') };
- $searchtabs->{"_b"} = { class => "nav",
- path => "RTIR/Display.html?id=" . $item_map->{ $id }->{'prev'},
- title => '< ' . loc('Prev') };
+ if ( $item_map->{$id}->{'prev'} ) {
+ $searchtabs->{'_a'} = {
+ class => "nav",
+ path => "RTIR/Display.html?id=" . $item_map->{'first'},
+ title => '<< ' . loc('First')
+ };
+ $searchtabs->{"_b"} = {
+ class => "nav",
+ path => "RTIR/Display.html?id=" . $item_map->{$id}->{'prev'},
+ title => '< ' . loc('Prev')
+ };
}
# Don't display next links if we're on the last ticket
- if ( $item_map->{ $id }->{'next'} ) {
- $searchtabs->{'d'} = { class => "nav",
- path => "RTIR/Display.html?id=". $item_map->{ $id }->{'next'},
- title => loc('Next') . ' >' };
- $searchtabs->{'e'} = { class => "nav",
- path => "RTIR/Display.html?id=" . $item_map->{'last'},
- title => loc('Last') . ' >>' };
+ if ( $item_map->{$id}->{'next'} ) {
+ $searchtabs->{'d'} = {
+ class => "nav",
+ path => "RTIR/Display.html?id=" . $item_map->{$id}->{'next'},
+ title => loc('Next') . ' >'
+ };
+ $searchtabs->{'e'} = {
+ class => "nav",
+ path => "RTIR/Display.html?id=" . $item_map->{'last'},
+ title => loc('Last') . ' >>'
+ };
}
}
-
- $tabs->{'this'} = { class => "currentnav",
- path => "RTIR/Display.html?id=$id",
- title => loc("$Type #[_1]", $id) };
-
+
+ $tabs->{'this'} = {
+ class => "currentnav",
+ path => "RTIR/Display.html?id=$id",
+ title => loc( "$Type #[_1]", $id )
+ };
+
my %can = map { $_, $Ticket->CurrentUserHasRight($_) }
- qw(ModifyTicket ReplyToTicket OwnTicket CommentOnTicket);
+ qw(ModifyTicket ReplyToTicket OwnTicket CommentOnTicket);
my $ticket_page_tabs = {
- _A => { title => loc('Display'),
- path => "RTIR/Display.html?id=$id" }
+ _A => {
+ title => loc('Display'),
+ path => "RTIR/Display.html?id=$id"
+ }
};
# only show edit option if they can do it
if ( $can{'ModifyTicket'} ) {
- $ticket_page_tabs->{'_E'} = { title => loc('Edit'),
- path => "RTIR/Edit.html?id=$id" };
+ $ticket_page_tabs->{'_E'} = {
+ title => loc('Edit'),
+ path => "RTIR/Edit.html?id=$id"
+ };
- $ticket_page_tabs->{'_F'} = { title => loc('Split'),
- path => "RTIR/Split.html?Ticket=$id" };
+ $ticket_page_tabs->{'_F'} = {
+ title => loc('Split'),
+ path => "RTIR/Split.html?Ticket=$id"
+ };
- $ticket_page_tabs->{'_G'} = { title => loc('Merge'),
- path => "RTIR/Merge.html?id=$id&$QueryString" };
+ $ticket_page_tabs->{'_G'} = {
+ title => loc('Merge'),
+ path => "RTIR/Merge.html?id=$id&$QueryString"
+ };
- $ticket_page_tabs->{'_H'} = { title => loc('Advanced'),
- path => "RTIR/Advanced.html?id=$id",
- separator => 1,
+ $ticket_page_tabs->{'_H'} = {
+ title => loc('Advanced'),
+ path => "RTIR/Advanced.html?id=$id",
+ separator => 1,
};
- foreach my $key (keys %$appendtabs) {
- $ticket_page_tabs->{ $key }->{'title'} = $appendtabs->{ $key }->{'title'};
- $ticket_page_tabs->{ $key }->{'path'} = $appendtabs->{ $key }->{'path'};
+ foreach my $key ( keys %$appendtabs ) {
+ $ticket_page_tabs->{$key}->{'title'}
+ = $appendtabs->{$key}->{'title'};
+ $ticket_page_tabs->{$key}->{'path'}
+ = $appendtabs->{$key}->{'path'};
}
}
$tabs->{'this'}->{'subtabs'} = $ticket_page_tabs;
@@ -122,19 +144,22 @@
### Reply ###
if ( $can{'ModifyTicket'} || $can{'ReplyToTicket'} ) {
- if ($Type eq 'Incident') {
+ if ( $Type eq 'Incident' ) {
$actions->{'A'} = {
title => loc('Reply to Reporters'),
- path => "RTIR/Incident/Reply.html?DefaultStatus=stalled&id=$id",
+ path =>
+ "RTIR/Incident/Reply.html?DefaultStatus=stalled&id=$id",
};
$actions->{'Ab'} = {
title => loc('Reply to All'),
- path => "RTIR/Incident/Reply.html?DefaultStatus=stalled&id=$id&All=1",
+ path =>
+ "RTIR/Incident/Reply.html?DefaultStatus=stalled&id=$id&All=1",
};
} else {
$actions->{'A'} = {
title => loc('Reply'),
- path => "RTIR/Update.html?Action=Respond&DefaultStatus=stalled&id=$id",
+ path =>
+ "RTIR/Update.html?Action=Respond&DefaultStatus=stalled&id=$id",
};
}
}
@@ -142,39 +167,43 @@
if ( $can{'ModifyTicket'} ) {
if ( $Type eq 'Report' ) {
if ( $Ticket->QueueObj->IsActiveStatus( $Ticket->Status ) ) {
- my $state = RT::IR::Ticket::FirstCustomFieldValue( $Ticket, '_RTIR_State');
- if ($state ne 'new') {
+ my $state = RT::IR::Ticket::FirstCustomFieldValue( $Ticket,
+ '_RTIR_State' );
+ if ( $state ne 'new' ) {
$actions->{'Ac'} = {
- path => "RTIR/Update.html?Action=Comment&DefaultStatus=resolved&id=$id",
+ path =>
+ "RTIR/Update.html?Action=Comment&DefaultStatus=resolved&id=$id",
title => loc('Resolve'),
};
$actions->{'Acc'} = {
- path => "RTIR/Display.html?Status=resolved&id=$id",
+ path => "RTIR/Display.html?Status=resolved&id=$id",
title => loc('Quick Resolve'),
};
}
$actions->{'B'} = {
- path => "RTIR/Display.html?Status=rejected&id=$id",
+ path => "RTIR/Display.html?Status=rejected&id=$id",
title => loc('Quick Reject'),
};
$actions->{'Bb'} = {
- path => "RTIR/Update.html?Action=Comment&DefaultStatus=rejected&id=$id",
+ path =>
+ "RTIR/Update.html?Action=Comment&DefaultStatus=rejected&id=$id",
title => loc('Reject'),
};
}
- }
- elsif ( $Type eq 'Incident' ) {
+ } elsif ( $Type eq 'Incident' ) {
if ( $Ticket->QueueObj->IsActiveStatus( $Ticket->Status ) ) {
$actions->{'Ac'} = {
- path => "RTIR/Incident/Reply.html?Action=Comment&DefaultStatus=resolved&id=$id&All=1",
+ path =>
+ "RTIR/Incident/Reply.html?Action=Comment&DefaultStatus=resolved&id=$id&All=1",
title => loc('Resolve'),
};
$actions->{'Acc'} = {
- path => "RTIR/Display.html?Status=resolved&id=$id",
+ path => "RTIR/Display.html?Status=resolved&id=$id",
title => loc('Quick Resolve'),
};
$actions->{'B'} = {
- path => "RTIR/Incident/Reply.html?Action=Comment&DefaultStatus=rejected&id=$id&All=1",
+ path =>
+ "RTIR/Incident/Reply.html?Action=Comment&DefaultStatus=rejected&id=$id&All=1",
title => loc('Abandon'),
};
}
@@ -182,70 +211,89 @@
### Open ###
if ( $Ticket->QueueObj->IsInactiveStatus( $Ticket->Status ) ) {
- $actions->{'C'} = { path => "RTIR/Display.html?Status=open&id=$id",
- title => loc('Open') };
+ $actions->{'C'} = {
+ path => "RTIR/Display.html?Status=open&id=$id",
+ title => loc('Open')
+ };
}
}
if ( $can{'OwnTicket'} ) {
if ( $Ticket->Owner == $RT::Nobody->id ) {
- $actions->{'D'} = { path => "RTIR/Display.html?Action=Take&id=$id",
- title => loc('Take') };
- }
- elsif ( $Ticket->Owner != $session{CurrentUser}->id ) {
- $actions->{'E'} = { path => "RTIR/Display.html?Action=Steal&id=$id",
- title => loc('Steal') };
+ $actions->{'D'} = {
+ path => "RTIR/Display.html?Action=Take&id=$id",
+ title => loc('Take')
+ };
+ } elsif ( $Ticket->Owner != $session{CurrentUser}->id ) {
+ $actions->{'E'} = {
+ path => "RTIR/Display.html?Action=Steal&id=$id",
+ title => loc('Steal')
+ };
}
}
if ( $can{'ModifyTicket'} || $can{'CommentOnTicket'} ) {
- $actions->{'F'} = { title => loc('Comment'),
- path => "RTIR/Update.html?Action=Comment&id=$id" };
+ $actions->{'F'} = {
+ title => loc('Comment'),
+ path => "RTIR/Update.html?Action=Comment&id=$id"
+ };
}
} else {
$mytab = $current_tab;
}
-my $refinetabs = { };
-$refinetabs->{'_a'} = {
- class => "nav",
- path => "RTIR/Search/Refine.html?$EscapedQueueName&$QueryString&".
- $m->comp( '/Elements/QueryString',
- ResultPage => "/RTIR/Search/Results.html?$EscapedQueueName",
- ),
- title => loc('Refine'),
-};
+my $refinetabs = {};
-$tabs->{"A"} = { path => "RTIR/Create.html?$EscapedQueueName",
- title => loc("New $Type") };
+# If we're looking at a specific item, dont' show the refine tab
+$tabs->{"A"} = {
+ path => "RTIR/Create.html?$EscapedQueueName",
+ title => loc("New $Type")
+};
-$tabs->{"g"} = { path => "RTIR/Search/Results.html?$EscapedQueueName&$QueryString",
- title => loc('Results'),
- separator => 1,
- subtabs => $refinetabs };
-
-if ($Type eq 'Report') {
- $tabs->{"h"} = { path => 'RTIR/Report/BulkReject.html',
- title => loc('Bulk Reject'),
- separator => 1 };
+$tabs->{"g"} = {
+ path => "RTIR/Search/Results.html?$EscapedQueueName&$QueryString",
+ title => loc('Results'),
+};
+unless ( $Ticket and $Ticket->id ) {
+ $tabs->{'ga'} = {
+ class => "nav",
+ path => "RTIR/Search/Refine.html?$EscapedQueueName&$QueryString&"
+ . $m->comp(
+ '/Elements/QueryString',
+ ResultPage => "/RTIR/Search/Results.html?$EscapedQueueName",
+ ),
+ title => loc('Refine'),
+ };
}
-elsif ( $Type eq 'Incident' ) {
- if( $Ticket && $Ticket->QueueObj->Name ne 'Incidents') {
+
+
+if ( $Type eq 'Report' ) {
+ $tabs->{"h"} = {
+ path => 'RTIR/Report/BulkReject.html',
+ title => loc('Bulk Reject'),
+ separator => 1
+ };
+} elsif ( $Type eq 'Incident' ) {
+ if ( $Ticket && $Ticket->QueueObj->Name ne 'Incidents' ) {
my $childq = $Ticket->QueueObj->Name;
my ($childtype) = $m->comp( '/RTIR/Elements/Type', Queue => $childq );
-
- $tabs->{'h'} = { title => loc( 'Link [_1] #[_2]', $childtype, $Ticket->Id ),
- path => "RTIR/Incident/LinkToIncident.html?id=". $Ticket->Id,
- separator => 1 };
- }
- $tabs->{'k'} = { path => 'RTIR/Incident/BulkAbandon.html',
- title => loc('Bulk Abandon'),
- separator => 1 };
+
+ $tabs->{'h'} = {
+ title => loc( 'Link [_1] #[_2]', $childtype, $Ticket->Id ),
+ path => "RTIR/Incident/LinkToIncident.html?id=" . $Ticket->Id,
+ separator => 1
+ };
+ }
+ $tabs->{'k'} = {
+ path => 'RTIR/Incident/BulkAbandon.html',
+ title => loc('Bulk Abandon'),
+ separator => 1
+ };
}
foreach my $tab ( values %{$tabs} ) {
if ( $tab->{'path'} eq $current_tab ) {
- $tab->{'subtabs'} = { %{$tab->{'subtabs'} || {}}, %$subtabs };
+ $tab->{'subtabs'} = { %{ $tab->{'subtabs'} || {} }, %$subtabs };
}
}
Modified: rtir/branches/1.9-EXPERIMENTAL/html/RTIR/Search/Elements/BuildQuery
==============================================================================
--- rtir/branches/1.9-EXPERIMENTAL/html/RTIR/Search/Elements/BuildQuery (original)
+++ rtir/branches/1.9-EXPERIMENTAL/html/RTIR/Search/Elements/BuildQuery Tue Feb 28 01:14:00 2006
@@ -89,9 +89,10 @@
CurrentFormat => $CurrentFormat,
RowsPerPage => $RowsPerPage,
OrderBy => $OrderBy,
- Order => $Order &>
+ Order => $Order,
+ cfqueues => $queues
+ &>
</form>
-
<%ARGS>
$id => undef
$SearchId => undef
@@ -103,7 +104,7 @@
$OrderBy => undef
$RowsPerPage => undef
$HideResults => 0
-%queues => ()
+$queues => undef
@actions => ()
$optionlist => undef
$search_hash => undef
Modified: rtir/branches/1.9-EXPERIMENTAL/html/RTIR/Search/Elements/ProcessQuery
==============================================================================
--- rtir/branches/1.9-EXPERIMENTAL/html/RTIR/Search/Elements/ProcessQuery (original)
+++ rtir/branches/1.9-EXPERIMENTAL/html/RTIR/Search/Elements/ProcessQuery Tue Feb 28 01:14:00 2006
@@ -127,10 +127,9 @@
my @options;
$Query = "";
-%queues = ();
# Build the optionlist from the tree, so we can do additions and movements based on it
-$$optionlist = build_array( \$Query, $ARGS{clauses}, $tree, \@options, \%queues );
+$$optionlist = build_array( \$Query, $ARGS{clauses}, $tree, \@options, $queues );
my $currentkey;
$currentkey = $options[$ARGS{clauses}] if defined $ARGS{clauses};
@@ -304,8 +303,7 @@
# {{{ Rebuild $Query based on the additions / movements
$Query = "";
@options = ();
-%queues = ();
-$$optionlist = build_array( \$Query, $currentkey, $tree, \@options, \%queues );
+$$optionlist = build_array( \$Query, $currentkey, $tree, \@options, $queues );
sub build_array {
my $Query = shift;
@@ -567,10 +565,10 @@
# }}}
# {{{ Deal with format changes
-($Format, $$AvailableColumns, $$CurrentFormat) = $m->comp('/Search/Elements/BuildFormatString', cfqueues => \%queues, %ARGS, Format => $Format);
+use YAML;
+($Format, $$AvailableColumns, $$CurrentFormat) = $m->comp('/Search/Elements/BuildFormatString', cfqueues => $queues, %ARGS, Format => $Format);
# }}}
-
# {{{ if we're asked to save the current search, save it
if ( $ARGS{'Save'} ) {
@@ -680,7 +678,7 @@
$OrderBy => undef
$RowsPerPage => undef
$HideResults => 0
-%queues => ()
+$queues => undef
$results => undef
$optionlist => undef
$search_hash => undef
Modified: rtir/branches/1.9-EXPERIMENTAL/html/RTIR/Search/Elements/RefineTabs
==============================================================================
--- rtir/branches/1.9-EXPERIMENTAL/html/RTIR/Search/Elements/RefineTabs (original)
+++ rtir/branches/1.9-EXPERIMENTAL/html/RTIR/Search/Elements/RefineTabs Tue Feb 28 01:14:00 2006
@@ -1,20 +1,12 @@
<& '/RTIR/'.$Type.'/Elements/Tabs',
- subtabs => $refinetabs,
+ current_tab => 'RTIR/Search/Refine.html',
%ARGS
&>
<%INIT>
my ($Type) = $m->comp("/RTIR/Elements/Type", Queue => $Queue);
-my $refinetabs = {
- _a => {
- class => "nav",
- path => delete $ARGS{'path'},
- title => loc('Refine'),
- },
-};
</%INIT>
-
<%ARGS>
$Queue => ''
</%ARGS>
Modified: rtir/branches/1.9-EXPERIMENTAL/html/RTIR/Search/Elements/ShowResults
==============================================================================
--- rtir/branches/1.9-EXPERIMENTAL/html/RTIR/Search/Elements/ShowResults (original)
+++ rtir/branches/1.9-EXPERIMENTAL/html/RTIR/Search/Elements/ShowResults Tue Feb 28 01:14:00 2006
@@ -10,7 +10,8 @@
AllowSorting => $AllowSorting,
&>
-% if ( $Queue eq 'Incident Reports' && $ShowNavigation ) {
+<div align="right">
+% if ( $ShowNavigation ) {
<%PERL>
# this would do well as a Callback
my $QueryString = $m->comp('/Elements/QueryString',
@@ -22,14 +23,35 @@
Order => $Order,
Page => $Page,
);
+my $ShortQueryString = $m->comp('/Elements/QueryString',
+ Queue => $Queue,
+ Query => $Query,
+ Rows => $Rows,
+ OrderBy => $OrderBy,
+ Order => $Order,
+ Page => $Page,
+ );
</%PERL>
+% if ( $Queue eq 'Incident Reports') {
+
-<div align="right">
<a href="<%RT->Config->Get('WebPath')%>/RTIR/Report/BulkReject.html?<% $QueryString %>"><&|/l&>Bulk Reject</&></a>
-</div>
% }
+<a href="<%RT->Config->Get('WebPath')%>/Search/Results.tsv?<%$ShortQueryString%>"><&|/l&>spreadsheet</&></a> |
+<a href="<% RT->Config->Get('WebPath')."/Search/Results.rdf?$ShortQueryString"%>"><&|/l&>RSS</&></a> |
+<form method="get" action="<%RT->Config->Get('WebPath')%>/Search/Chart.html"><&|/l&>chart</&>
+% my %hiddens = (Query => $Query, Format => $Format, Rows => $Rows, OrderBy => $OrderBy, Order => $Order);
+% foreach my $key (keys(%hiddens)) {
+<input type="hidden" class="hidden" name="<%$key%>" value="<%defined($hiddens{$key})?$hiddens{$key}:''%>" />
+% }
+<&|/l, $m->scomp('/Search/Elements/SelectGroupBy', Name => 'PrimaryGroupBy') &>grouped by [_1]</&>
+<&|/l, $m->scomp('/Search/Elements/SelectChartType', Name => 'ChartStyle') &>style: [_1]</&>
+<input type="submit" class="button" value="<%loc('Go')%>" />
+</form>
+</div>
+% }
<%INIT>
$Query = join ' AND ', map "( $_ )", grep $_, $BaseQuery, $Query;
Modified: rtir/branches/1.9-EXPERIMENTAL/html/RTIR/Search/Refine.html
==============================================================================
--- rtir/branches/1.9-EXPERIMENTAL/html/RTIR/Search/Refine.html (original)
+++ rtir/branches/1.9-EXPERIMENTAL/html/RTIR/Search/Refine.html Tue Feb 28 01:14:00 2006
@@ -99,6 +99,9 @@
my $AvailableColumns;
my $CurrentFormat;
+# Set up a queues so we can use it to find custom fields to sort on or display
+$queues{$Queue} = 1;
+
$BaseQuery ||= $m->comp('/RTIR/Elements/BaseQuery', Queue => $Queue);
if ($NewQuery) {
Modified: rtir/branches/1.9-EXPERIMENTAL/html/RTIR/Search/Results.html
==============================================================================
--- rtir/branches/1.9-EXPERIMENTAL/html/RTIR/Search/Results.html (original)
+++ rtir/branches/1.9-EXPERIMENTAL/html/RTIR/Search/Results.html Tue Feb 28 01:14:00 2006
@@ -67,7 +67,9 @@
Page => $Page,
OrderBy => $OrderBy,
Order => $Order,
+ ShowNavigation => 1
&>
+<div align="right">
<%INIT>
my $title = loc("Results");
@@ -84,7 +86,7 @@
Order => $Order,
Page => $Page,
);
-
+my $ShortQueryString = "?".$m->comp('/Elements/QueryString', Query => $Query);
my $EscapedQueue = $m->comp( '/Elements/QueryString', Queue => $Queue );
</%INIT>
More information about the Rt-commit
mailing list