]>
git.proxmox.com Git - pmg-gui.git/blob - js/UserEdit.js
2 /*jslint confusion: true*/
3 /* submitvalue is string and bool */
4 Ext
.define('PMG.UserEdit', {
5 extend
: 'Proxmox.window.Edit',
6 alias
: 'widget.pmgUserEdit',
7 mixins
: ['Proxmox.Mixin.CBind'],
8 onlineHelp
: 'pmgconfig_localuser',
14 subject
: gettext('User'),
16 fieldDefaults
: { labelWidth
: 120 },
18 cbindData: function(initialConfig
) {
21 var userid
= initialConfig
.userid
;
22 var baseurl
= '/api2/extjs/access/users';
24 me
.isCreate
= !userid
;
25 me
.url
= userid
? baseurl
+ '/' + userid
: baseurl
;
26 me
.method
= userid
? 'PUT' : 'POST';
27 me
.autoLoad
= !!userid
;
30 useridXType
: userid
? 'displayfield' : 'textfield',
31 isSuperUser
: userid
=== 'root@pam',
41 fieldLabel
: gettext('User name'),
42 renderer
: Ext
.htmlEncode
,
46 submitValue
: '{isCreate}',
47 xtype
: '{useridXType}',
52 inputType
: 'password',
53 fieldLabel
: gettext('Password'),
58 change: function(field
) {
59 field
.next().validate();
61 blur: function(field
) {
62 field
.next().validate();
66 hidden
: '{!isCreate}',
67 disabled
: '{!isCreate}',
72 inputType
: 'password',
73 fieldLabel
: gettext('Confirm password'),
74 name
: 'verifypassword',
76 initialPassField
: 'password',
80 hidden
: '{!isCreate}',
81 disabled
: '{!isCreate}',
85 xtype
: 'pmgRoleSelector',
88 fieldLabel
: gettext('Role'),
90 disabled
: '{isSuperUser}',
96 emptyText
: Proxmox
.Utils
.neverText
,
99 fieldLabel
: gettext('Expire'),
101 disabled
: '{isSuperUser}',
105 xtype
: 'proxmoxcheckbox',
106 fieldLabel
: gettext('Enabled'),
112 disabled
: '{isSuperUser}',
119 xtype
: 'proxmoxtextfield',
121 fieldLabel
: gettext('First Name'),
123 deleteEmpty
: '{!isCreate}',
127 xtype
: 'proxmoxtextfield',
129 fieldLabel
: gettext('Last Name'),
131 deleteEmpty
: '{!isCreate}',
135 xtype
: 'proxmoxtextfield',
137 fieldLabel
: gettext('E-Mail'),
138 vtype
: 'proxmoxMail',
140 deleteEmpty
: '{!isCreate}',
147 xtype
: 'proxmoxtextfield',
149 fieldLabel
: gettext('Comment'),
151 disabled
: '{isSuperUser}',
152 deleteEmpty
: '{!isCreate}',
156 xtype
: 'proxmoxtextfield',
158 fieldLabel
: gettext('Key IDs'),
160 deleteEmpty
: '{!isCreate}',
166 getValues: function(dirtyOnly
) {
169 var values
= me
.callParent(arguments
);
171 // hack: ExtJS datefield does not submit 0, so we need to set that
172 if (!values
.expire
) {
177 values
.userid
= values
.username
+ '@pmg';
180 delete values
.username
;
182 if (!values
.password
) {
183 delete values
.password
;
189 setValues: function(values
) {
192 if (Ext
.isDefined(values
.expire
)) {
194 values
.expire
= new Date(values
.expire
* 1000);
196 // display 'never' instead of '1970-01-01'
197 values
.expire
= null;
201 me
.callParent([values
]);