-% $m->callback( %ARGS, CallbackName => 'BeforeCustomFields' );
-<table>
-% my $i = 0;
-% while ( my $CustomField = $CustomFields->Next ) {
-% next unless $CustomField->CurrentUserHasRight('ModifyCustomField');
-% my $escaped_name = lc $CustomField->Name;
-% $escaped_name =~ s/[^a-z0-9_-]/_/g;
-% my $type = $CustomField->Type || 'Unknown';
-% $i++;
-% if ( $single_column || $i % 2 ) {
-<tr class="edit-custom-field">
-% }
- <td class="cflabel cftype-<% $type %> cfname-<% $escaped_name %>" id="<% $CFIDPrefix %>cflabel-<% $CustomField->Id %>" >
- <b><% loc($CustomField->Name) %></b><br />
- <i><% $CustomField->FriendlyType %></i>
- </td>
- <td class="entry cftype-<% $type %> cfname-<% $escaped_name %>" id="<% $CFIDPrefix %>cfentry-<% $CustomField->Id %>">
-% my $default = $m->notes('Field-' . $CustomField->Id);
-% $default ||= $ARGS{"CustomField-". $CustomField->Id };
- <& /Elements/EditCustomField,
- %ARGS,
- Object => $TicketObj,
- CustomField => $CustomField,
- NamePrefix => $NamePrefix,
- Default => $default,
- &>
-% if (my $msg = $m->notes('InvalidField-' . $CustomField->Id)) {
- <br />
- <span class="cfinvalidfield cftype-<% $type %> cfname-<% $escaped_name %>"><% $msg %></span>
-% }
- </td>
-
-% if ($single_column || not $i % 2 ) {
-</tr>
-% }
-
-% }
-
-%# close row if required
-% if ( !$single_column || $i % 2 ) {
-</tr>
-% }
-
-</table>
-% $m->callback( %ARGS, CallbackName => 'AfterCustomFields', TicketObj => $TicketObj, QueueObj => $QueueObj );