-/*global Proxmox*/
-/*jslint confusion: true*/
-/* submitvalue is string and bool */
Ext.define('PMG.UserEdit', {
extend: 'Proxmox.window.Edit',
alias: 'widget.pmgUserEdit',
mixins: ['Proxmox.Mixin.CBind'],
+ onlineHelp: 'pmgconfig_localuser',
userid: undefined,
var userid = initialConfig.userid;
var baseurl = '/api2/extjs/access/users';
- me.create = !userid;
- me.url = userid ? baseurl + '/' + userid : baseurl;
+ me.isCreate = !userid;
+ me.url = userid ? baseurl + '/' + userid : baseurl;
me.method = userid ? 'PUT' : 'POST';
- me.autoLoad = userid ? true : false;
+ me.autoLoad = !!userid;
return {
useridXType: userid ? 'displayfield' : 'textfield',
- isSuperUser: userid === 'root@pam'
+ isSuperUser: userid === 'root@pam',
};
},
xtype: 'textfield',
name: 'username',
fieldLabel: gettext('User name'),
+ renderer: Ext.htmlEncode,
allowBlank: false,
+ minLength: 4,
cbind: {
- submitValue: '{create}',
- xtype: '{useridXType}'
- }
+ submitValue: '{isCreate}',
+ xtype: '{useridXType}',
+ },
},
{
xtype: 'textfield',
allowBlank: false,
name: 'password',
listeners: {
- change: function(field){
+ change: function(field) {
field.next().validate();
},
- blur: function(field){
+ blur: function(field) {
field.next().validate();
- }
+ },
},
cbind: {
- hidden: '{!create}',
- disabled: '{!create}'
- }
+ hidden: '{!isCreate}',
+ disabled: '{!isCreate}',
+ },
},
{
- xtype: 'textfield',
+ xtype: 'textfield',
inputType: 'password',
fieldLabel: gettext('Confirm password'),
name: 'verifypassword',
allowBlank: false,
submitValue: false,
cbind: {
- hidden: '{!create}',
- disabled: '{!create}'
- }
+ hidden: '{!isCreate}',
+ disabled: '{!isCreate}',
+ },
},
{
xtype: 'pmgRoleSelector',
allowBlank: false,
fieldLabel: gettext('Role'),
cbind: {
- disabled: '{isSuperUser}'
- }
+ disabled: '{isSuperUser}',
+ },
},
{
xtype: 'datefield',
submitFormat: 'U',
fieldLabel: gettext('Expire'),
cbind: {
- disabled: '{isSuperUser}'
- }
+ disabled: '{isSuperUser}',
+ },
},
{
xtype: 'proxmoxcheckbox',
defaultValue: 1,
checked: true,
cbind: {
- disabled: '{isSuperUser}'
- }
- }
+ disabled: '{isSuperUser}',
+ },
+ },
],
column2: [
name: 'firstname',
fieldLabel: gettext('First Name'),
cbind: {
- deleteEmpty: '{!create}'
- }
+ deleteEmpty: '{!isCreate}',
+ },
},
{
xtype: 'proxmoxtextfield',
name: 'lastname',
fieldLabel: gettext('Last Name'),
cbind: {
- deleteEmpty: '{!create}'
- }
+ deleteEmpty: '{!isCreate}',
+ },
},
{
xtype: 'proxmoxtextfield',
fieldLabel: gettext('E-Mail'),
vtype: 'proxmoxMail',
cbind: {
- deleteEmpty: '{!create}'
- }
- }
+ deleteEmpty: '{!isCreate}',
+ },
+ },
],
columnB: [
fieldLabel: gettext('Comment'),
cbind: {
disabled: '{isSuperUser}',
- deleteEmpty: '{!create}'
- }
+ deleteEmpty: '{!isCreate}',
+ },
},
{
xtype: 'proxmoxtextfield',
name: 'keys',
fieldLabel: gettext('Key IDs'),
cbind: {
- deleteEmpty: '{!create}'
- }
- }
- ]
+ deleteEmpty: '{!isCreate}',
+ },
+ },
+ ],
},
getValues: function(dirtyOnly) {
values.expire = 0;
}
- if (me.create) {
+ if (me.isCreate) {
values.userid = values.username + '@pmg';
}
}
me.callParent([values]);
- }
+ },
});