]>
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
;
17 url
= '/api2/extjs/access/users';
20 url
= '/api2/extjs/access/users/' + encodeURIComponent(me
.userid
);
27 var validate_pw = function() {
28 if (verifypw
.getValue() !== pwfield
.getValue()) {
29 return gettext("Passwords do not match");
34 verifypw
= Ext
.createWidget('textfield', {
35 inputType
: 'password',
36 fieldLabel
: gettext('Confirm password'),
37 name
: 'verifypassword',
41 validator
: validate_pw
44 pwfield
= Ext
.createWidget('textfield', {
45 inputType
: 'password',
46 fieldLabel
: gettext('Password'),
51 validator
: validate_pw
54 var update_passwd_field = function(realm
) {
55 if (realm
=== 'pve') {
56 pwfield
.setVisible(true);
57 pwfield
.setDisabled(false);
58 verifypw
.setVisible(true);
59 verifypw
.setDisabled(false);
61 pwfield
.setVisible(false);
62 pwfield
.setDisabled(true);
63 verifypw
.setVisible(false);
64 verifypw
.setDisabled(true);
71 xtype
: me
.isCreate
? 'textfield' : 'displayfield',
73 fieldLabel
: gettext('User name'),
76 submitValue
: me
.isCreate
? true : false
80 xtype
: 'pveGroupSelector',
84 fieldLabel
: gettext('Group')
92 fieldLabel
: gettext('Expire')
95 xtype
: 'proxmoxcheckbox',
96 fieldLabel
: gettext('Enabled'),
108 fieldLabel
: gettext('First Name')
113 fieldLabel
: gettext('Last Name')
118 fieldLabel
: gettext('E-Mail'),
125 xtype
: 'pveRealmComboBox',
127 fieldLabel
: gettext('Realm'),
129 matchFieldWidth
: false,
130 listConfig
: { width
: 300 },
132 change: function(combo
, newValue
){
134 update_passwd_field(realm
);
141 var ipanel
= Ext
.create('Proxmox.panel.InputPanel', {
148 fieldLabel
: gettext('Comment')
155 fieldLabel
: gettext('Key IDs')
158 onGetValues: function(values
) {
159 // hack: ExtJS datefield does not submit 0, so we need to set that
160 if (!values
.expire
) {
165 values
.userid
= values
.userid
+ '@' + realm
;
168 if (!values
.password
) {
169 delete values
.password
;
177 subject
: gettext('User'),
181 labelWidth
: 110 // for spanish translation
190 success: function(response
, options
) {
191 var data
= response
.result
.data
;
192 if (Ext
.isDefined(data
.expire
)) {
194 data
.expire
= new Date(data
.expire
* 1000);
196 // display 'never' instead of '1970-01-01'