Upgrade to 4.0.10.
[usit-rt.git] / share / html / Admin / Elements / EditCustomField
CommitLineData
84fb5b46
MKG
1%# BEGIN BPS TAGGED BLOCK {{{
2%#
3%# COPYRIGHT:
4%#
403d7b0b 5%# This software is Copyright (c) 1996-2013 Best Practical Solutions, LLC
84fb5b46
MKG
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<& /Elements/ListActions, actions => \@results &>
49
50
51<form method="post" action="CustomField.html">
52<input type="hidden" class="hidden" name="CustomField" value="<%$id %>" />
53<input type="hidden" class="hidden" name="Queue" value="<%$Queue%>" />
54
55<table width="100%" border="0">
56<tr><td align="right">
57<&|/l&>Name</&>:
58</td><td>
59<input name="Name" value="<%$CustomFieldObj->Name%>" size="20" />
60</td></tr>
61<tr><td align="right">
62<&|/l&>Description</&>:
63</td><td>
64<input name="Description" value="<%$CustomFieldObj->Description%>" size="80" />
65</td></tr>
66<tr><td align="right">
67<&|/l&>Type</&>:
68</td><td>
69<& /Admin/Elements/SelectCustomFieldType, Name => "Type", Default => $CustomFieldObj->Type &>
70</td></tr>
71<tr><td>
72</td><td>
73<input type="hidden" class="hidden" name="SetEnabled" value="1" />
74<input type="checkbox" class="checkbox" name="Enabled" value="1" <%$EnabledChecked%> /> <&|/l&>Enabled (Unchecking this box disables this custom field)</&>
75</td></tr>
76</table>
77
78<p>
79% if ($CustomFieldObj->Id and $CustomFieldObj->Type =~ /Select/) {
80<h2><&|/l&>Values</&></h2>
81<font size="-1">
82<& /Admin/Elements/EditCustomFieldValues, CustomField => $CustomFieldObj &>
83<& /Admin/Elements/AddCustomFieldValue, CustomField => $CustomFieldObj &>
84</font>
85% }
86<&/Elements/Submit, Label => loc('Create') &>
87</form>
88
89
90
91<%INIT>
92
93my $CustomFieldObj = RT::CustomField->new($session{'CurrentUser'});
94my $EnabledChecked = 'checked="checked"';
95my (@results);
96
97if (! $CustomField ) {
98 $title = loc("Create a CustomField");
99 $id = 'new';
100} else {
101
102 if ($CustomField eq 'new') {
103 my ($val, $msg) = $CustomFieldObj->Create(Queue => $Queue,
104 Name => $Name,
105 Type => $Type,
106 Description => $Description,
107 );
108
109 # if there is an error, then abort. But since at this point there's
110 # stuff already printed, clear it out.
111 # (This only works in conjunction with temporarily turning autoflush
112 # off in the files that use this component.)
113 unless ($val) {
114 $m->clear_buffer;
115 Abort(loc("Could not create CustomField: [_1]", $msg), SuppressHeader => 1);
116 }
117 push @results, $msg;
118 $CustomFieldObj->SetSortOrder($CustomFieldObj->id);
119 $title = loc('Created CustomField [_1]', $CustomFieldObj->Name());
120 } else {
121 $CustomFieldObj->Load($CustomField) || Abort(loc('No CustomField'), SuppressHeader => 1);
122 $title = loc('Editing CustomField [_1]', $CustomFieldObj->Name());
123
124 my @aresults = ProcessCustomFieldUpdates (
125 CustomFieldObj => $CustomFieldObj,
126 ARGSRef => \%ARGS );
127 push @results, @aresults;
128 }
129
130
131$id = $CustomFieldObj->id;
132
133 #we're asking about enabled on the web page but really care about disabled.
134 my $Disabled = ($Enabled ? 0 : 1);
135
136 if ( ($SetEnabled) and ( $Disabled != $CustomFieldObj->Disabled) ) {
137 my ($code, $msg) = $CustomFieldObj->SetDisabled($Disabled);
138 push @results, loc('Enabled status [_1]', loc_fuzzy($msg));
139 }
140
141 if ($CustomFieldObj->Disabled()) {
142 $EnabledChecked ="";
143 }
144
145}
146
147
148</%INIT>
149<%ARGS>
150$id => undef
151$title => undef
152$Queue => undef
153$CustomField => undef
154$Type => undef
155$Description => undef
156$Name => undef
157$SetEnabled => undef
158$Enabled => undef
159</%ARGS>