]>
git.proxmox.com Git - pve-manager.git/blob - www/manager6/dc/UserEdit.js
1 Ext
.define('PVE.dc.UserEdit', {
2 extend
: 'Proxmox.window.Edit',
3 alias
: ['widget.pveDcUserEdit'],
7 initComponent: function() {
10 me
.isCreate
= !me
.userid
;
12 let url
= '/api2/extjs/access/users';
15 url
+= '/' + encodeURIComponent(me
.userid
);
19 let verifypw
, pwfield
;
20 let validate_pw = function() {
21 if (verifypw
.getValue() !== pwfield
.getValue()) {
22 return gettext("Passwords do not match");
26 verifypw
= Ext
.createWidget('textfield', {
27 inputType
: 'password',
28 fieldLabel
: gettext('Confirm password'),
29 name
: 'verifypassword',
33 validator
: validate_pw
,
36 pwfield
= Ext
.createWidget('textfield', {
37 inputType
: 'password',
38 fieldLabel
: gettext('Password'),
43 validator
: validate_pw
,
48 xtype
: me
.isCreate
? 'textfield' : 'displayfield',
50 fieldLabel
: gettext('User name'),
52 renderer
: Ext
.String
.htmlEncode
,
54 submitValue
: !!me
.isCreate
,
59 xtype
: 'pveGroupSelector',
63 fieldLabel
: gettext('Group'),
66 xtype
: 'pmxExpireDate',
70 xtype
: 'proxmoxcheckbox',
71 fieldLabel
: gettext('Enabled'),
83 fieldLabel
: gettext('First Name'),
88 fieldLabel
: gettext('Last Name'),
93 fieldLabel
: gettext('E-Mail'),
99 column1
.splice(1, 0, {
100 xtype
: 'pmxRealmComboBox',
102 fieldLabel
: gettext('Realm'),
104 matchFieldWidth
: false,
105 listConfig
: { width
: 300 },
107 change: function(combo
, realm
) {
109 pwfield
.setVisible(realm
=== 'pve');
110 pwfield
.setDisabled(realm
!== 'pve');
111 verifypw
.setVisible(realm
=== 'pve');
112 verifypw
.setDisabled(realm
!== 'pve');
119 var ipanel
= Ext
.create('Proxmox.panel.InputPanel', {
126 fieldLabel
: gettext('Comment'),
133 fieldLabel
: gettext('Key IDs'),
136 onGetValues: function(values
) {
138 values
.userid
= values
.userid
+ '@' + me
.realm
;
140 if (!values
.password
) {
141 delete values
.password
;
148 subject
: gettext('User'),
152 labelWidth
: 110, // some translation are quite long (e.g., Spanish)
161 success: function(response
, options
) {
162 var data
= response
.result
.data
;
165 if (data
.keys
=== 'x!oath' || data
.keys
=== 'x!u2f') {
166 me
.down('[name="keys"]').setDisabled(1);