rt 4.2.14 (#13852)
[freeside.git] / rt / share / html / Search / Elements / PickBasics
1 %# BEGIN BPS TAGGED BLOCK {{{
2 %#
3 %# COPYRIGHT:
4 %#
5 %# This software is Copyright (c) 1996-2017 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, },
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 => '/Ticket/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                 UpdatedBy => loc('Updated by'),
118             ],
119         },
120         Op => {
121             Type => 'component',
122             Path => '/Elements/SelectBoolean',
123             Arguments => { TrueVal=> '=', FalseVal => '!=' },
124         },
125         Value => {
126             Type => 'component',
127             Path => '/Elements/SelectOwner',
128             Arguments => { ValueAttribute => 'Name', Queues => \%queues },
129         },
130     },
131     {
132         Name => 'Watcher',
133         Field => {
134             Type => 'component',
135             Path => 'SelectPersonType',
136             Arguments => { Default => 'Requestor' },
137         },
138         Op => {
139             Type => 'component',
140             Path => '/Elements/SelectMatch',
141         },
142         Value => { Type => 'text', Size => 20 }
143     },
144     {
145         Name => 'WatcherGroup',
146         Field => {
147             Type => 'component',
148             Path => 'SelectPersonType',
149             Arguments => { Default => 'Owner', Suffix => 'Group' },
150         },
151         Op => {
152             Type => 'select',
153             Options => [ '=' => loc('is') ],
154         },
155         Value => { Type => 'text', Size => 20, "data-autocomplete" => "Groups" }
156     },
157     {
158         Name => 'Date',
159         Field => {
160             Type => 'component',
161             Path => '/Elements/SelectDateType',
162         },
163         Op => {
164             Type => 'component',
165             Path => '/Elements/SelectDateRelation',
166         },
167         Value => {
168             Type => 'component',
169             Path => '/Elements/SelectDate',
170             Arguments => { ShowTime => 0, Default => '' },
171         },
172     },
173     {
174         Name => 'Time',
175         Field => {
176             Type    => 'select',
177             Options => [
178                 TimeWorked => loc('Time Worked'),
179                 TimeEstimated => loc('Time Estimated'),
180                 TimeLeft => loc('Time Left'),
181             ],
182         },
183         Op => {
184             Type => 'component',
185             Path => '/Elements/SelectEqualityOperator',
186         },
187         Value => [
188             { Type => 'text', Size => 5 },
189             {
190                 Type => 'component',
191                 Path => '/Elements/SelectTimeUnits',
192             },
193         ],
194     },
195     {
196         Name => 'Priority',
197         Field => {
198             Type    => 'select',
199             Options => [
200                 Priority => loc('Priority'),
201                 InitialPriority => loc('Initial Priority'),
202                 FinalPriority => loc('Final Priority'),
203             ],
204         },
205         Op => {
206             Type => 'component',
207             Path => '/Elements/SelectEqualityOperator',
208         },
209         Value => {
210             Type => 'component',
211             Path => '/Elements/SelectPriority',
212         },
213     },
214     {
215         Name => 'Links',
216         Field => { Type => 'component', Path => 'SelectLinks' },
217         Op => {
218             Type => 'component',
219             Path => '/Elements/SelectBoolean',
220             Arguments => { TrueVal=> '=', FalseVal => '!=' },
221         },
222         Value => { Type => 'text', Size => 5 }
223     },
224 );
225
226 #freeside
227
228 $m->callback( Conditions => \@lines );
229
230 </%INIT>
231 <%ARGS>
232 %queues => ()
233 </%ARGS>