Merge branch 'master' of https://github.com/jgoodman/Freeside
[freeside.git] / rt / share / html / Search / Elements / PickBasics
1 %# BEGIN BPS TAGGED BLOCK {{{
2 %#
3 %# COPYRIGHT:
4 %#
5 %# This software is Copyright (c) 1996-2014 Best Practical Solutions, LLC
6 %#                                          <sales@bestpractical.com>
7 %#
8 %# (Except where explicitly superseded by other copyright notices)
9 %#
10 %#
11 %# LICENSE:
12 %#
13 %# This work is made available to you under the terms of Version 2 of
14 %# the GNU General Public License. A copy of that license should have
15 %# been provided with this software, but in any event can be snarfed
16 %# from www.gnu.org.
17 %#
18 %# This work is distributed in the hope that it will be useful, but
19 %# WITHOUT ANY WARRANTY; without even the implied warranty of
20 %# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
21 %# General Public License for more details.
22 %#
23 %# You should have received a copy of the GNU General Public License
24 %# along with this program; if not, write to the Free Software
25 %# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
26 %# 02110-1301 or visit their web page on the internet at
27 %# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
28 %#
29 %#
30 %# CONTRIBUTION SUBMISSION POLICY:
31 %#
32 %# (The following paragraph is not intended to limit the rights granted
33 %# to you to modify and distribute this software under the terms of
34 %# the GNU General Public License and is only of importance to you if
35 %# you choose to contribute your changes and enhancements to the
36 %# community by submitting them to Best Practical Solutions, LLC.)
37 %#
38 %# By intentionally submitting any modifications, corrections or
39 %# derivatives to this work, or any other work intended for use with
40 %# Request Tracker, to Best Practical Solutions, LLC, you confirm that
41 %# you are the copyright holder for those contributions and you grant
42 %# Best Practical Solutions,  LLC a nonexclusive, worldwide, irrevocable,
43 %# royalty-free, perpetual, license to use, copy, create derivative
44 %# works based on those contributions, and sublicense and distribute
45 %# those contributions and any derivatives thereof.
46 %#
47 %# END BPS TAGGED BLOCK }}}
48 % foreach( @lines ) {
49 <& ConditionRow, Condition => $_ &>
50 % }
51 <%INIT>
52
53 my @lines = (
54     {
55         Name => 'id',
56         Field => loc('id'),
57         Op => {
58             Type => 'component',
59             Path => '/Elements/SelectEqualityOperator',
60         },
61         Value => { Type => 'text', Size => 5 }
62     },
63     {
64         Name => 'Attachment',
65         Field => {
66             Type => 'component',
67             Path => '/Elements/SelectAttachmentField',
68         },
69         Op => {
70             Type => 'component',
71             Path => '/Elements/SelectBoolean',
72             Arguments => {
73                             True => loc("matches"), 
74                             False => loc("doesn't match"), 
75                             TrueVal => 'LIKE',
76                             FalseVal => 'NOT LIKE',
77             },
78         },
79         Value => { Type => 'text', Size => 20 },
80     },
81     {
82         Name => 'Queue',
83         Field => loc('Queue'),
84         Op => {
85             Type => 'component',
86             Path => '/Elements/SelectBoolean',
87             Arguments => { TrueVal=> '=', FalseVal => '!=' },
88         },
89         Value => {
90             Type => 'component',
91             Path => '/Elements/SelectQueue',
92             Arguments => { NamedValues => 1, CheckQueueRight => 'ShowTicket' },
93         },
94     },
95     {
96         Name => 'Status',
97         Field => loc('Status'),
98         Op => {
99             Type => 'component',
100             Path => '/Elements/SelectBoolean',
101             Arguments => { TrueVal=> '=', FalseVal => '!=' },
102         },
103         Value => {
104             Type => 'component',
105             Path => '/Elements/SelectStatus',
106             Arguments => { SkipDeleted => 1, Queues => \%queues },
107         },
108     },
109     {
110         Name => 'Actor',
111         Field => {
112             Type    => 'select',
113             Options => [
114                 Owner => loc('Owner'),
115                 Creator => loc('Creator'),
116                 LastUpdatedBy => loc('Last updated by'),
117             ],
118         },
119         Op => {
120             Type => 'component',
121             Path => '/Elements/SelectBoolean',
122             Arguments => { TrueVal=> '=', FalseVal => '!=' },
123         },
124         Value => {
125             Type => 'component',
126             Path => '/Elements/SelectOwner',
127             Arguments => { ValueAttribute => 'Name', Queues => \%queues },
128         },
129     },
130     {
131         Name => 'Watcher',
132         Field => {
133             Type => 'component',
134             Path => 'SelectPersonType',
135             Arguments => { Default => 'Requestor' },
136         },
137         Op => {
138             Type => 'component',
139             Path => '/Elements/SelectMatch',
140         },
141         Value => { Type => 'text', Size => 20 }
142     },
143     {
144         Name => 'Date',
145         Field => {
146             Type => 'component',
147             Path => '/Elements/SelectDateType',
148         },
149         Op => {
150             Type => 'component',
151             Path => '/Elements/SelectDateRelation',
152         },
153         Value => {
154             Type => 'component',
155             Path => '/Elements/SelectDate',
156             Arguments => { ShowTime => 0, Default => '' },
157         },
158     },
159     {
160         Name => 'Time',
161         Field => {
162             Type    => 'select',
163             Options => [
164                 TimeWorked => loc('Time Worked'),
165                 TimeEstimated => loc('Time Estimated'),
166                 TimeLeft => loc('Time Left'),
167             ],
168         },
169         Op => {
170             Type => 'component',
171             Path => '/Elements/SelectEqualityOperator',
172         },
173         Value => [
174             { Type => 'text', Size => 5 },
175             {
176                 Type => 'component',
177                 Path => '/Elements/SelectTimeUnits',
178             },
179         ],
180     },
181     {
182         Name => 'Priority',
183         Field => {
184             Type    => 'select',
185             Options => [
186                 Priority => loc('Priority'),
187                 InitialPriority => loc('Initial Priority'),
188                 FinalPriority => loc('Final Priority'),
189             ],
190         },
191         Op => {
192             Type => 'component',
193             Path => '/Elements/SelectEqualityOperator',
194         },
195         Value => {
196             Type => 'component',
197             Path => '/Elements/SelectPriority',
198         },
199     },
200     {
201         Name => 'Links',
202         Field => { Type => 'component', Path => 'SelectLinks' },
203         Op => {
204             Type => 'component',
205             Path => '/Elements/SelectBoolean',
206             Arguments => { TrueVal=> '=', FalseVal => '!=' },
207         },
208         Value => { Type => 'text', Size => 5 }
209     },
210 );
211
212 #freeside
213
214 $m->callback( Conditions => \@lines );
215
216 </%INIT>
217 <%ARGS>
218 %queues => ()
219 </%ARGS>