import of rt 3.0.4
[freeside.git] / rt / html / Ticket / Elements / EditCustomField
1 %# BEGIN LICENSE BLOCK
2 %# 
3 %# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
4 %# 
5 %# (Except where explictly superceded by other copyright notices)
6 %# 
7 %# This work is made available to you under the terms of Version 2 of
8 %# the GNU General Public License. A copy of that license should have
9 %# been provided with this software, but in any event can be snarfed
10 %# from www.gnu.org.
11 %# 
12 %# This work is distributed in the hope that it will be useful, but
13 %# WITHOUT ANY WARRANTY; without even the implied warranty of
14 %# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15 %# General Public License for more details.
16 %# 
17 %# Unless otherwise specified, all modifications, corrections or
18 %# extensions to this work which alter its source code become the
19 %# property of Best Practical Solutions, LLC when submitted for
20 %# inclusion in the work.
21 %# 
22 %# 
23 %# END LICENSE BLOCK
24 % my $Values;
25 % if ($TicketObj) {
26 %          $Values  = $TicketObj->CustomFieldValues($CustomField->id);
27 % }
28 % if ($CustomField->Type eq 'FreeformSingle') {
29       <input name="<%$NamePrefix%><%$CustomField->Id%>-Value"
30         size="<%$Cols%>"
31 % if ($TicketObj) {
32           value="<%$Values->Count ? $Values->First->Content : ''%>"
33 % }
34 >
35 % } elsif ($CustomField->Type eq 'FreeformMultiple') {
36 % my $content;
37 % if ($TicketObj) {
38 %          while (my $value = $Values->Next ) {
39 %                 $content .= $value->Content;
40 %           }
41 %  }
42 <input type="hidden" name="<%$NamePrefix%><%$CustomField->Id%>-Values-Magic" value="1">
43 <textarea cols=<%$Cols%> rows=<%$Rows%> name="<%$NamePrefix%><%$CustomField->Id%>-Values"><%$content%></textarea>
44 % } elsif ($CustomField->Type =~ /^Select/) {
45       <input type="hidden" name="<%$NamePrefix%><%$CustomField->Id%>-Values-Magic" value="1">
46       <select name="<%$NamePrefix%><%$CustomField->Id%>-Values"
47         size="<%$Rows%>"
48         <%$CustomField->Type eq 'SelectMultiple' && 'MULTIPLE'%>>
49 % my $CustomFieldValues = $CustomField->Values();
50 % my $selected;
51 % while (my $value = $CustomFieldValues->Next) {
52         <option value="<%$value->Name%>" 
53 % if ($TicketObj) {
54             <% $Values->HasEntry($value->Name) && ($selected = 1) && 'SELECTED' %>
55 % } elsif ($Default) {
56             <% ($Default eq $value->Name) && ($selected = 1) && 'SELECTED' %>
57 % }
58             ><% $value->Name%></option>
59 % }
60         <option value="" <% !$selected && 'SELECTED' %>><&|/l&>(no value)</&></option>
61       </select>
62 % }
63 <%ARGS>
64 $TicketObj => undef
65 $CustomField => undef
66 $NamePrefix => undef
67 $Rows => 5
68 $Cols=> 15
69 $Default => undef
70 </%ARGS>