]>
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'],
13 subject
: gettext('User'),
15 fieldDefaults
: { labelWidth
: 120 },
17 cbindData: function(initialConfig
) {
20 var userid
= initialConfig
.userid
;
21 var baseurl
= '/api2/extjs/access/users';
23 me
.isCreate
= !userid
;
24 me
.url
= userid
? baseurl
+ '/' + userid
: baseurl
;
25 me
.method
= userid
? 'PUT' : 'POST';
26 me
.autoLoad
= userid
? true : false;
29 useridXType
: userid
? 'displayfield' : 'textfield',
30 isSuperUser
: userid
=== 'root@pam'
40 fieldLabel
: gettext('User name'),
41 renderer
: Ext
.htmlEncode
,
44 submitValue
: '{isCreate}',
45 xtype
: '{useridXType}'
50 inputType
: 'password',
51 fieldLabel
: gettext('Password'),
56 change: function(field
){
57 field
.next().validate();
59 blur: function(field
){
60 field
.next().validate();
64 hidden
: '{!isCreate}',
65 disabled
: '{!isCreate}'
70 inputType
: 'password',
71 fieldLabel
: gettext('Confirm password'),
72 name
: 'verifypassword',
74 initialPassField
: 'password',
78 hidden
: '{!isCreate}',
79 disabled
: '{!isCreate}'
83 xtype
: 'pmgRoleSelector',
86 fieldLabel
: gettext('Role'),
88 disabled
: '{isSuperUser}'
94 emptyText
: Proxmox
.Utils
.neverText
,
97 fieldLabel
: gettext('Expire'),
99 disabled
: '{isSuperUser}'
103 xtype
: 'proxmoxcheckbox',
104 fieldLabel
: gettext('Enabled'),
110 disabled
: '{isSuperUser}'
117 xtype
: 'proxmoxtextfield',
119 fieldLabel
: gettext('First Name'),
121 deleteEmpty
: '{!isCreate}'
125 xtype
: 'proxmoxtextfield',
127 fieldLabel
: gettext('Last Name'),
129 deleteEmpty
: '{!isCreate}'
133 xtype
: 'proxmoxtextfield',
135 fieldLabel
: gettext('E-Mail'),
136 vtype
: 'proxmoxMail',
138 deleteEmpty
: '{!isCreate}'
145 xtype
: 'proxmoxtextfield',
147 fieldLabel
: gettext('Comment'),
149 disabled
: '{isSuperUser}',
150 deleteEmpty
: '{!isCreate}'
154 xtype
: 'proxmoxtextfield',
156 fieldLabel
: gettext('Key IDs'),
158 deleteEmpty
: '{!isCreate}'
164 getValues: function(dirtyOnly
) {
167 var values
= me
.callParent(arguments
);
169 // hack: ExtJS datefield does not submit 0, so we need to set that
170 if (!values
.expire
) {
175 values
.userid
= values
.username
+ '@pmg';
178 delete values
.username
;
180 if (!values
.password
) {
181 delete values
.password
;
187 setValues: function(values
) {
190 if (Ext
.isDefined(values
.expire
)) {
192 values
.expire
= new Date(values
.expire
* 1000);
194 // display 'never' instead of '1970-01-01'
195 values
.expire
= null;
199 me
.callParent([values
]);