%#
%# COPYRIGHT:
%#
-%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
+%# This software is Copyright (c) 1996-2019 Best Practical Solutions, LLC
%# <sales@bestpractical.com>
%#
%# (Except where explicitly superseded by other copyright notices)
<td class="label"><&|/l&>Timezone</&>:</td>
<td class="value"><& /Elements/SelectTimezone, Name => 'Timezone', Default => $UserObj->Timezone &></td>
</tr>
+<& /Elements/EditCustomFields, Object => $UserObj, Grouping => 'Identity', InTable => 1 &>
</table>
</&>
<&| /Widgets/TitleBox, title => loc('Phone numbers'), id => "user-prefs-phone" &>
<td class="label"><&|/l&>Pager</&>:</td>
<td class="value"><input name="PagerPhone" value="<%$UserObj->PagerPhone || ''%>" size="13" /></td>
</tr>
+<& /Elements/EditCustomFields, Object => $UserObj, Grouping => 'Phones', InTable => 1 &>
</table>
</&>
%if ($UserObj->Privileged) {
-<&| /Widgets/TitleBox, title => loc('Signature') &>
+<&| /Widgets/TitleBox, title => loc('Signature'), id => "user-prefs-signature" &>
<textarea cols="80" rows="5" name="Signature" class="signature" wrap="hard">
<%$UserObj->Signature || ''%></textarea>
</&>
User => $UserObj,
Name => [qw(CurrentPass Pass1 Pass2)],
&>
+
+<& /Elements/EditCustomFields, Object => $UserObj, Grouping => 'Access control' &>
+
</&>
<&| /Widgets/TitleBox, title => loc('Location'), id => "user-prefs-location" &>
<td class="label"><&|/l&>Country</&>:</td>
<td class="value"><input name="Country" value="<%$UserObj->Country || ''%>" /></td>
</tr>
+<& /Elements/EditCustomFields, Object => $UserObj, Grouping => 'Location', InTable => 1 &>
</table>
</&>
-<&| /Widgets/TitleBox, title => loc('Custom Fields') &>
-<table>
-% my $CustomFields = $UserObj->CustomFields;
-% while ( my $CF = $CustomFields->Next ) {
-<tr valign="top">
-<td align="right"><% loc( $CF->Name ) %>:</td>
-<td><& /Elements/EditCustomField,
- %ARGS, Object => $UserObj, CustomField => $CF
-&></td></tr>
-% }
-</table>
-</&>
+
+
+<& /Elements/EditCustomFieldCustomGroupings, Object => $UserObj &>
+
+
<& /Elements/Submit, Label => loc('Save Preferences') &>
<&| /Widgets/TitleBox, title => loc('Secret authentication token'), id => "user-prefs-feeds" &>
-<&|/l&>All iCal feeds embed a secret token which authorizes you. If the URL one of your iCal feeds got exposed to the outside world, you can get a new secret, <b>breaking all existing iCal feeds</b> below.</&>
+<&|/l&>All iCal feeds embed a secret token which authorizes you. If the URL for one of your iCal feeds was exposed to the outside world, you can get a new secret, <b>breaking all existing iCal feeds</b>, below.</&>
<a href="#" id="ResetAuthTokenPrompt" style="display: none">
<&|/l&>I want to reset my secret token.</&>