[Rt-commit] r6591 - in rt/branches/3.6-RELEASE: .
jesse at bestpractical.com
jesse at bestpractical.com
Wed Dec 6 14:18:49 EST 2006
Author: jesse
Date: Wed Dec 6 14:18:48 2006
New Revision: 6591
Modified:
rt/branches/3.6-RELEASE/ (props changed)
rt/branches/3.6-RELEASE/html/Elements/ShowSearch
Log:
r45870 at 114: jesse | 2006-12-06 14:17:20 -0500
* Let users add non-predefined searches saved by the superuser to RT::System's saved searches to their homepages
Modified: rt/branches/3.6-RELEASE/html/Elements/ShowSearch
==============================================================================
--- rt/branches/3.6-RELEASE/html/Elements/ShowSearch (original)
+++ rt/branches/3.6-RELEASE/html/Elements/ShowSearch Wed Dec 6 14:18:48 2006
@@ -61,35 +61,45 @@
my $query_link_url = 'Search/Results.html';
if ($SavedSearch) {
- my ($container_object, $search_id ) = _parse_saved_search ($SavedSearch);
+ my ( $container_object, $search_id ) = _parse_saved_search($SavedSearch);
$search = $container_object->Attributes->WithId($search_id);
- unless ($search->Id && ref ($SearchArg = $search->Content) eq 'HASH') {
- $m->out ("Saved Search $SavedSearch not found");
- return;
+ unless ( $search->Id && ref( $SearchArg = $search->Content ) eq 'HASH' ) {
+ $m->out("Saved Search $SavedSearch not found");
+ return;
}
if ( $SearchArg->{SearchType} ne 'Ticket' ) {
+
# XXX: dispatch to different handler here
- $query_display_component = '/Search/Elements/'.$SearchArg->{SearchType};
+ $query_display_component
+ = '/Search/Elements/' . $SearchArg->{SearchType};
$query_link_url = "Search/$SearchArg->{SearchType}.html";
+ } else {
+ $customize = $RT::WebPath . '/Search/Build.html?'
+ . $m->comp( '/Elements/QueryString',
+ LoadSavedSearch => $SavedSearch );
}
- else {
- $customize = $RT::WebPath.'/Search/Build.html?'.
- $m->comp('/Elements/QueryString',
- LoadSavedSearch => $SavedSearch);
- }
-}
-else {
- ($search) = RT::System->new($session{'CurrentUser'})->Attributes->Named('Search - '.$Name);
- unless ($search && $search->Id) {
- $m->out ("Predefined search $Name not found");
- return;
+} else {
+ ($search) = RT::System->new( $session{'CurrentUser'} ) ->Attributes->Named( 'Search - ' . $Name );
+ unless ( $search && $search->Id ) {
+ my (@custom_searches) = RT::System->new( $session{'CurrentUser'} )->Attributes->Named('SavedSearch');
+ foreach my $custom (@custom_searches) {
+ if ($custom->Description eq $Name) { $search = $custom; last }
+ }
+ unless ($search && $search->id) {
+ $m->out("Predefined search $Name not found");
+ return;
+ }
}
- $SearchArg = $user->Preferences($search, $search->Content);
- $SearchArg->{'Rows'} = $user->Preferences('SummaryRows', $RT::DefaultSummaryRows);
- $customize = $RT::WebPath.'/Prefs/Search.html?'.$m->comp('/Elements/QueryString', name => ref($search).'-'.$search->Id)
+
+ $SearchArg = $user->Preferences( $search, $search->Content );
+ $SearchArg->{'Rows'}
+ = $user->Preferences( 'SummaryRows', $RT::DefaultSummaryRows );
+ $customize = $RT::WebPath . '/Prefs/Search.html?'
+ . $m->comp( '/Elements/QueryString',
+ name => ref($search) . '-' . $search->Id );
}
-$SearchArg->{'Query'} =~ s/__CurrentUser__/$session{'CurrentUser'}->Id/ge;
+$SearchArg->{'Query'} =~ s/__CurrentUser__/$session{'CurrentUser'}->Id/ge;
$SearchArg->{'Format'} =~ s/__WebPath__/$RT::WebPath/g;
$SearchArg->{'Format'} =~ s/__loc\(["']?(\w+)["']?\)__/loc("$1")/ge;
@@ -100,11 +110,9 @@
%ARGS
);
+my $QueryString = '?' . $m->comp( '/Elements/QueryString', %$SearchArg );
-
-my $QueryString = '?' . $m->comp('/Elements/QueryString',
- %$SearchArg);
- #map { $_ => $SearchArg->{$_} } qw(Query Order OrderBy));
+#map { $_ => $SearchArg->{$_} } qw(Query Order OrderBy));
</%init>
<%ARGS>
More information about the Rt-commit
mailing list