X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=share%2Fhtml%2FArticles%2FArticle%2FSearch.html;fp=share%2Fhtml%2FArticles%2FArticle%2FSearch.html;h=db6529b14baa6a9f8c23972e46aa59693d61324f;hb=3ffc5f4f234c1fc3f44b0ef26e777aab6de13e05;hp=a8c7d8034ac87966d4862add600ad011a33e664d;hpb=8cdba5537362afcae515c298526c1066339b5b1c;p=usit-rt.git diff --git a/share/html/Articles/Article/Search.html b/share/html/Articles/Article/Search.html index a8c7d80..db6529b 100644 --- a/share/html/Articles/Article/Search.html +++ b/share/html/Articles/Article/Search.html @@ -2,7 +2,7 @@ %# %# COPYRIGHT: %# -%# This software is Copyright (c) 1996-2013 Best Practical Solutions, LLC +%# This software is Copyright (c) 1996-2014 Best Practical Solutions, LLC %# %# %# (Except where explicitly superseded by other copyright notices) @@ -54,6 +54,13 @@ @@ -146,26 +153,26 @@ if ($CurrentSearch =~ /^(.*-\d+)-SavedSearch-(\d+)$/) { if ($ARGS{'Load'}) { if ($ARGS{'LoadSavedSearch'} =~ /^(.*-\d+)-SavedSearch-(\d+)$/ ) { - my $privacy = $1; - my $search_id = $2; - - $search = RT::SavedSearch->new($session{'CurrentUser'}); - my ($ret, $msg) = $search->Load($privacy, $search_id); - if ($ret) { - my $searchargs = $search->GetParameter('args'); - # Clean out ARGS and fill it in with the saved args from the - # loaded search. - foreach my $key (@metakeys) { - $searchargs->{$key} = $ARGS{$key}; - } - %ARGS = %{$searchargs}; - $CurrentSearch = "$privacy-SavedSearch-$search_id"; - } else { - push(@results, loc("Error: could not load saved search [_1]: [_2]", - $ARGS{'LoadSavedSearch'}, $msg)); - } + my $privacy = $1; + my $search_id = $2; + + $search = RT::SavedSearch->new($session{'CurrentUser'}); + my ($ret, $msg) = $search->Load($privacy, $search_id); + if ($ret) { + my $searchargs = $search->GetParameter('args'); + # Clean out ARGS and fill it in with the saved args from the + # loaded search. + foreach my $key (@metakeys) { + $searchargs->{$key} = $ARGS{$key}; + } + %ARGS = %{$searchargs}; + $CurrentSearch = "$privacy-SavedSearch-$search_id"; + } else { + push(@results, loc("Error: could not load saved search [_1]: [_2]", + $ARGS{'LoadSavedSearch'}, $msg)); + } } else { - push(@results, loc("Invalid [_1] argument", 'LoadSavedSearch')); + push(@results, loc("Invalid [_1] argument", 'LoadSavedSearch')); } } @@ -174,67 +181,67 @@ if ($ARGS{'Load'}) { if ($ARGS{'Save'}) { my %searchargs = %ARGS; foreach my $key (@metakeys) { - delete $searchargs{$key}; + delete $searchargs{$key}; } $search = RT::SavedSearch->new($session{'CurrentUser'}); unless ($ARGS{'SearchPrivacy'} =~ /^(.*)-(\d+)$/) { - # This shouldn't really happen, but hey. - push(@results, loc("WARNING: Saving search to user-level privacy")); - $ARGS{'SearchPrivacy'} = 'RT::User-'.$session{'CurrentUser'}->Id; + # This shouldn't really happen, but hey. + push(@results, loc("WARNING: Saving search to user-level privacy")); + $ARGS{'SearchPrivacy'} = 'RT::User-'.$session{'CurrentUser'}->Id; } - my ($ret, $msg) = $search->Save(Privacy => $ARGS{'SearchPrivacy'}, - Type => 'Article', - Name => $ARGS{'NewSearchName'}, - SearchParams => {'args' => \%searchargs}); + my ($ret, $msg) = $search->Save(Privacy => $ARGS{'SearchPrivacy'}, + Type => 'Article', + Name => $ARGS{'NewSearchName'}, + SearchParams => {'args' => \%searchargs}); if ($ret) { - $CurrentSearch = $ARGS{'SearchPrivacy'} . "-SavedSearch-" . - $search->Id; - push(@results, loc("Created search [_1]", $search->Name)); + $CurrentSearch = $ARGS{'SearchPrivacy'} . "-SavedSearch-" . + $search->Id; + push(@results, loc("Created search [_1]", $search->Name)); } else { undef $search; # if we bomb out creating a search # we don't want to have the empty object hang around - push(@results, loc("Could not create search: [_1]", $msg)); + push(@results, loc("Could not create search: [_1]", $msg)); } } elsif ($ARGS{'Update'}) { if ($ARGS{'SearchPrivacy'} != $search->Privacy) { - push(@results, - loc("Error: cannot change privacy value of existing search")); + push(@results, + loc("Error: cannot change privacy value of existing search")); } else { - my %searchargs = %ARGS; - foreach my $key (@metakeys) { - delete $searchargs{$key}; - } - - # We already have a search loaded, because CurrentSearch is set, - # or else we would not have gotten here. - my ($ret, $msg) = $search->Update(Name => $ARGS{'NewSearchName'}, - SearchParams => \%searchargs); - if ($ret) { - push(@results, loc("Search [_1] updated", $search->Name)); - } else { - push(@results, loc("Error: search [_1] not updated: [_2]", - $search->Name, $msg)); - } + my %searchargs = %ARGS; + foreach my $key (@metakeys) { + delete $searchargs{$key}; + } + + # We already have a search loaded, because CurrentSearch is set, + # or else we would not have gotten here. + my ($ret, $msg) = $search->Update(Name => $ARGS{'NewSearchName'}, + SearchParams => \%searchargs); + if ($ret) { + push(@results, loc("Search [_1] updated", $search->Name)); + } else { + push(@results, loc("Error: search [_1] not updated: [_2]", + $search->Name, $msg)); + } } } elsif ($ARGS{'Delete'}) { # Keep track of this, as we are about to delete the search. my $searchname = $search->Name; my ($ret, $msg) = $search->Delete; if ($ret) { - $ARGS{'CurrentSearch'} = undef; - push(@results, loc("Deleted search [_1]", $searchname)); - # Get rid of all the state. - foreach my $key (keys %ARGS) { - delete $ARGS{$key}; - } - $CurrentSearch = 'new'; - $search = undef; - $RefersTo = undef; - $ReferredToBy = undef; + $ARGS{'CurrentSearch'} = undef; + push(@results, loc("Deleted search [_1]", $searchname)); + # Get rid of all the state. + foreach my $key (keys %ARGS) { + delete $ARGS{$key}; + } + $CurrentSearch = 'new'; + $search = undef; + $RefersTo = undef; + $ReferredToBy = undef; } else { - push(@results, loc("Could not delete search [_1]: [_2]", - $searchname, $msg)); + push(@results, loc("Could not delete search [_1]: [_2]", + $searchname, $msg)); } }
+<%perl> +if (not $Classes->First) { + $m->comp("/Articles/Elements/NeedsSetup"); +} else { + $Classes->GotoFirstItem; # Reset for loop below +} +
-<& /Elements/TitleBoxStart, title => loc('Saved searches') &> +<& /Widgets/TitleBoxStart, title => loc('Saved searches') &> <&|/l&>Load saved search:
<& Elements/SelectSavedSearches, Name => 'LoadSavedSearch', Default => $CurrentSearch &> -<& /Elements/TitleBoxEnd &> +<& /Widgets/TitleBoxEnd &>