]>
git.proxmox.com Git - pmg-gui.git/blob - js/UserEdit.js
1 Ext
.define('PMG.UserEdit', {
2 extend
: 'Proxmox.window.Edit',
3 alias
: 'widget.pmgUserEdit',
4 mixins
: ['Proxmox.Mixin.CBind'],
5 onlineHelp
: 'pmgconfig_localuser',
11 subject
: gettext('User'),
13 fieldDefaults
: { labelWidth
: 120 },
15 cbindData: function(initialConfig
) {
18 var userid
= initialConfig
.userid
;
19 var baseurl
= '/api2/extjs/access/users';
21 me
.isCreate
= !userid
;
22 me
.url
= userid
? baseurl
+ '/' + userid
: baseurl
;
23 me
.method
= userid
? 'PUT' : 'POST';
24 me
.autoLoad
= !!userid
;
27 useridXType
: userid
? 'displayfield' : 'textfield',
28 isSuperUser
: userid
=== 'root@pam',
38 fieldLabel
: gettext('User name'),
39 renderer
: Ext
.htmlEncode
,
42 submitValue
: '{isCreate}',
43 xtype
: '{useridXType}',
48 inputType
: 'password',
49 fieldLabel
: gettext('Password'),
54 change: function(field
) {
55 field
.next().validate();
57 blur: function(field
) {
58 field
.next().validate();
62 hidden
: '{!isCreate}',
63 disabled
: '{!isCreate}',
68 inputType
: 'password',
69 fieldLabel
: gettext('Confirm password'),
70 name
: 'verifypassword',
72 initialPassField
: 'password',
76 hidden
: '{!isCreate}',
77 disabled
: '{!isCreate}',
81 xtype
: 'pmgRoleSelector',
84 fieldLabel
: gettext('Role'),
86 disabled
: '{isSuperUser}',
92 emptyText
: Proxmox
.Utils
.neverText
,
95 fieldLabel
: gettext('Expire'),
97 disabled
: '{isSuperUser}',
101 xtype
: 'proxmoxcheckbox',
102 fieldLabel
: gettext('Enabled'),
108 disabled
: '{isSuperUser}',
115 xtype
: 'proxmoxtextfield',
117 fieldLabel
: gettext('First Name'),
119 deleteEmpty
: '{!isCreate}',
123 xtype
: 'proxmoxtextfield',
125 fieldLabel
: gettext('Last Name'),
127 deleteEmpty
: '{!isCreate}',
131 xtype
: 'proxmoxtextfield',
133 fieldLabel
: gettext('E-Mail'),
134 vtype
: 'proxmoxMail',
136 deleteEmpty
: '{!isCreate}',
143 xtype
: 'proxmoxtextfield',
145 fieldLabel
: gettext('Comment'),
147 disabled
: '{isSuperUser}',
148 deleteEmpty
: '{!isCreate}',
152 xtype
: 'proxmoxtextfield',
154 fieldLabel
: gettext('Key IDs'),
156 deleteEmpty
: '{!isCreate}',
162 getValues: function(dirtyOnly
) {
165 var values
= me
.callParent(arguments
);
167 // hack: ExtJS datefield does not submit 0, so we need to set that
168 if (!values
.expire
) {
173 values
.userid
= values
.username
+ '@pmg';
176 delete values
.username
;
178 if (!values
.password
) {
179 delete values
.password
;
185 setValues: function(values
) {
188 if (Ext
.isDefined(values
.expire
)) {
190 values
.expire
= new Date(values
.expire
* 1000);
192 // display 'never' instead of '1970-01-01'
193 values
.expire
= null;
197 me
.callParent([values
]);