]> git.uio.no Git - usit-rt.git/blame - share/html/Search/Elements/PickCFs
Merge branch 'master' of git.uio.no:usit-rt
[usit-rt.git] / share / html / Search / Elements / PickCFs
CommitLineData
84fb5b46
MKG
1%# BEGIN BPS TAGGED BLOCK {{{
2%#
3%# COPYRIGHT:
4%#
5%# This software is Copyright (c) 1996-2012 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>
52my $CustomFields = RT::CustomFields->new( $session{'CurrentUser'});
b5747ff2
MKG
53foreach my $id (keys %queues) {
54 # Gotta load up the $queue object, since queues get stored by name now.
84fb5b46
MKG
55 my $queue = RT::Queue->new($session{'CurrentUser'});
56 $queue->Load($id);
b5747ff2 57 $CustomFields->LimitToQueue($queue->Id) if $queue->Id;
84fb5b46
MKG
58}
59$CustomFields->LimitToGlobal;
60$m->callback(
61 CallbackName => 'MassageCustomFields',
62 CustomFields => $CustomFields,
63);
64
65
66my @lines;
67while ( my $CustomField = $CustomFields->Next ) {
68 my %line;
69 $line{'Name'} = "'CF.{" . $CustomField->Name . "}'";
70 $line{'Field'} = $CustomField->Name;
71
72 # Op
73 if ($CustomField->Type =~ /^Date(Time)?$/ ) {
74 $line{'Op'} = {
75 Type => 'component',
76 Path => '/Elements/SelectDateRelation',
77 Arguments => {},
78 };
79 }
80 elsif ($CustomField->Type =~ /^IPAddress(Range)?$/ ) {
81 $line{'Op'} = {
82 Type => 'component',
83 Path => '/Elements/SelectIPRelation',
84 Arguments => {},
85 };
86 } else {
87 $line{'Op'} = {
88 Type => 'component',
89 Path => '/Elements/SelectCustomFieldOperator',
90 Arguments => { True => loc("is"),
91 False => loc("isn't"),
92 TrueVal=> '=',
93 FalseVal => '!=',
94 },
95 };
96 }
97
98 # Value
99 if ($CustomField->Type =~ /^Date(Time)?$/) {
100 my $is_datetime = $1 ? 1 : 0;
101 $line{'Value'} = {
102 Type => 'component',
103 Path => '/Elements/SelectDate',
104 Arguments => { $is_datetime ? (ShowTime => 1) : (ShowTime => 0), },
105 };
106 } else {
107 $line{'Value'} = {
108 Type => 'component',
109 Path => '/Elements/SelectCustomFieldValue',
110 Arguments => { CustomField => $CustomField },
111 };
112 }
113
114 push @lines, \%line;
115}
116
b5747ff2 117$m->callback( Conditions => \@lines, Queues => \%queues );
84fb5b46
MKG
118
119</%INIT>
120
121<%ARGS>
b5747ff2 122%queues => ()
84fb5b46 123</%ARGS>