import rt 3.8.8
[freeside.git] / rt / html / Prefs / SearchOptions.html
1
2 %# BEGIN BPS TAGGED BLOCK {{{
3 %# 
4 %# COPYRIGHT:
5 %#  
6 %# This software is Copyright (c) 1996-2009 Best Practical Solutions, LLC 
7 %#                                          <jesse@bestpractical.com>
8 %# 
9 %# (Except where explicitly superseded by other copyright notices)
10 %# 
11 %# 
12 %# LICENSE:
13 %# 
14 %# This work is made available to you under the terms of Version 2 of
15 %# the GNU General Public License. A copy of that license should have
16 %# been provided with this software, but in any event can be snarfed
17 %# from www.gnu.org.
18 %# 
19 %# This work is distributed in the hope that it will be useful, but
20 %# WITHOUT ANY WARRANTY; without even the implied warranty of
21 %# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
22 %# General Public License for more details.
23 %# 
24 %# You should have received a copy of the GNU General Public License
25 %# along with this program; if not, write to the Free Software
26 %# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
27 %# 02110-1301 or visit their web page on the internet at
28 %# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
29 %# 
30 %# 
31 %# CONTRIBUTION SUBMISSION POLICY:
32 %# 
33 %# (The following paragraph is not intended to limit the rights granted
34 %# to you to modify and distribute this software under the terms of
35 %# the GNU General Public License and is only of importance to you if
36 %# you choose to contribute your changes and enhancements to the
37 %# community by submitting them to Best Practical Solutions, LLC.)
38 %# 
39 %# By intentionally submitting any modifications, corrections or
40 %# derivatives to this work, or any other work intended for use with
41 %# Request Tracker, to Best Practical Solutions, LLC, you confirm that
42 %# you are the copyright holder for those contributions and you grant
43 %# Best Practical Solutions,  LLC a nonexclusive, worldwide, irrevocable,
44 %# royalty-free, perpetual, license to use, copy, create derivative
45 %# works based on those contributions, and sublicense and distribute
46 %# those contributions and any derivatives thereof.
47 %# 
48 %# END BPS TAGGED BLOCK }}}
49 <& /Elements/Header, Title => loc("Search Preferences") &>
50 <& /User/Elements/Tabs, 
51     current_tab => "Prefs/SearchOptions.html",
52     Title => loc("Search Preferences")
53 &>
54
55 <form method="post" action="SearchOptions.html">
56 <input type="hidden" class="hidden" name="Format" value="<%$Format%>" />
57     <& /Search/Elements/DisplayOptions, %ARGS, 
58             Format=> $Format, 
59             AvailableColumns => $AvailableColumns,  
60             CurrentFormat => $CurrentFormat, 
61             RowsPerPage => $RowsPerPage, 
62             OrderBy => $OrderBy, 
63             Order => $Order &>
64
65 <& /Elements/Submit, Name => 'SavePreferences', Label => loc('Save Changes') &>
66 </form>
67
68 <%INIT>
69
70 # {{{ If we're saving search preferences, do that now
71 $Order = join '|', grep defined && /\S/, (ref $Order)? @{$Order}: $Order;
72 $OrderBy = join '|', grep defined && /\S/, (ref $OrderBy)? @{$OrderBy}: $OrderBy;
73
74 if ($ARGS{'SavePreferences'}) {
75     $session{'CurrentUser'}->UserObj->SetPreferences("SearchDisplay",
76     {
77        Format      => $Format,
78        Order       => $Order,
79        OrderBy     => $OrderBy,
80        RowsPerPage => $RowsPerPage,
81     });
82 }
83
84 # }}}
85
86
87
88
89
90
91
92 # Read from user preferences
93 my $prefs = $session{'CurrentUser'}->UserObj->Preferences("SearchDisplay") || {};
94
95 $Format      ||= $prefs->{'Format'};
96 $Order       ||= $prefs->{'Order'} || 'ASC';
97 $OrderBy     ||= $prefs->{'OrderBy'} || 'id';
98 ($RowsPerPage =  defined( $prefs->{'RowsPerPage'} ) ? $prefs->{'RowsPerPage'}  : 50) unless defined ($RowsPerPage);
99
100 my ( $AvailableColumns, $CurrentFormat );
101 ( $Format, $AvailableColumns, $CurrentFormat ) = $m->comp(
102     '/Search/Elements/BuildFormatString',
103     %ARGS, Format => $Format
104 );
105 </%INIT>
106
107 <%ARGS>
108 $Format => undef
109 $Description => undef
110 $Order => undef
111 $OrderBy => undef
112 $RowsPerPage => undef
113 </%ARGS>
114