Fix non-FreeNAS providers to enable the 'Add' button.
- When using the 'allowBlank' property of extjs, it provided the functionality to the FreeNAS provider but disabled the 'Add' button of other providers when all necessary data was entered. This was because three fields in the FreeNAS provider was 'allowBlank' equal to 'false' causing the ‘Add’ button to not be ‘enabled’. Upon further development the 'allowBlank' property is not 'bindable' and was causing issues with the modal window. No other similar code was found in the pvemanagerlib.js to replicate this and it was mentioned in a post that the ‘allowBlank’ property to be bindable was a feature request to come. This fix allows for all functionality of the providers to work correctly in the modal window. This fixes issue #36.
This commit is contained in:
parent
8e2f6673b0
commit
a1cdede403
|
|
@ -1,5 +1,5 @@
|
|||
--- pvemanagerlib-5.3-6.js 2018-12-21 12:54:58.650421078 -0500
|
||||
+++ pvemanagerlib.js 2018-12-21 12:55:25.170120836 -0500
|
||||
+++ pvemanagerlib.js 2019-02-01 13:52:17.906074280 -0500
|
||||
@@ -5894,6 +5894,7 @@
|
||||
alias: ['widget.pveiScsiProviderSelector'],
|
||||
comboItems: [
|
||||
|
|
@ -16,7 +16,7 @@
|
|||
hasWriteCacheOption: true
|
||||
}
|
||||
},
|
||||
@@ -30097,10 +30099,19 @@
|
||||
@@ -30097,10 +30099,26 @@
|
||||
}
|
||||
},
|
||||
changeISCSIProvider: function(f, newVal, oldVal) {
|
||||
|
|
@ -31,13 +31,20 @@
|
|||
+ me.lookupReference('freenas_use_ssl_field').setValue(false);
|
||||
+ me.lookupReference('freenas_apiv4_host_field').setValue('');
|
||||
+ me.lookupReference('freenas_user_field').setValue('');
|
||||
+ me.lookupReference('freenas_user_field').allowBlank = true;
|
||||
+ me.lookupReference('freenas_password_field').setValue('');
|
||||
+ me.lookupReference('freenas_password_field').allowBlank = true;
|
||||
+ me.lookupReference('freenas_confirmpw_field').setValue('');
|
||||
+ me.lookupReference('freenas_confirmpw_field').allowBlank = true;
|
||||
+ } else {
|
||||
+ me.lookupReference('freenas_user_field').allowBlank = false;
|
||||
+ me.lookupReference('freenas_password_field').allowBlank = false;
|
||||
+ me.lookupReference('freenas_confirmpw_field').allowBlank = false;
|
||||
+ }
|
||||
}
|
||||
},
|
||||
|
||||
@@ -30118,6 +30129,7 @@
|
||||
@@ -30118,6 +30136,7 @@
|
||||
},
|
||||
|
||||
setValues: function diff(values) {
|
||||
|
|
@ -45,7 +52,7 @@
|
|||
values.writecache = values.nowritecache ? 0 : 1;
|
||||
this.callParent([values]);
|
||||
},
|
||||
@@ -30134,7 +30146,7 @@
|
||||
@@ -30134,7 +30153,7 @@
|
||||
allowBlank: false
|
||||
},
|
||||
{
|
||||
|
|
@ -54,7 +61,7 @@
|
|||
name: 'pool',
|
||||
value: '',
|
||||
fieldLabel: gettext('Pool'),
|
||||
@@ -30144,11 +30156,11 @@
|
||||
@@ -30144,11 +30163,11 @@
|
||||
xtype: me.isCreate ? 'textfield' : 'displayfield',
|
||||
name: 'blocksize',
|
||||
value: '4k',
|
||||
|
|
@ -68,12 +75,14 @@
|
|||
name: 'target',
|
||||
value: '',
|
||||
fieldLabel: gettext('Target'),
|
||||
@@ -30159,8 +30171,28 @@
|
||||
@@ -30159,8 +30178,33 @@
|
||||
name: 'comstar_tg',
|
||||
value: '',
|
||||
fieldLabel: gettext('Target group'),
|
||||
- bind: me.isCreate ? { disabled: '{!isComstar}' } : { hidden: '{!isComstar}' },
|
||||
+ bind: { hidden: '{!isComstar}' },
|
||||
+ bind: {
|
||||
+ hidden: '{!isComstar}'
|
||||
+ },
|
||||
allowBlank: true
|
||||
+ },
|
||||
+ {
|
||||
|
|
@ -82,7 +91,9 @@
|
|||
+ reference: 'freenas_use_ssl_field',
|
||||
+ inputId: 'freenas_use_ssl_field',
|
||||
+ checked: false,
|
||||
+ bind: { hidden: '{!isFreeNAS}' },
|
||||
+ bind: {
|
||||
+ hidden: '{!isFreeNAS}'
|
||||
+ },
|
||||
+ uncheckedValue: 0,
|
||||
+ fieldLabel: gettext('API use SSL')
|
||||
+ },
|
||||
|
|
@ -92,27 +103,34 @@
|
|||
+ reference: 'freenas_user_field',
|
||||
+ inputId: 'freenas_user_field',
|
||||
+ value: '',
|
||||
+ allowBlank: false,
|
||||
+ fieldLabel: gettext('API Username'),
|
||||
+ bind: { hidden: '{!isFreeNAS}' },
|
||||
+ bind: {
|
||||
+ hidden: '{!isFreeNAS}'
|
||||
+ }
|
||||
}
|
||||
];
|
||||
|
||||
@@ -30191,7 +30223,7 @@
|
||||
@@ -30191,7 +30235,9 @@
|
||||
xtype: me.isCreate ? 'textfield' : 'displayfield',
|
||||
name: 'comstar_hg',
|
||||
value: '',
|
||||
- bind: me.isCreate ? { disabled: '{!isComstar}' } : { hidden: '{!isComstar}' },
|
||||
+ bind: { hidden: '{!isComstar}' },
|
||||
+ bind: {
|
||||
+ hidden: '{!isComstar}'
|
||||
+ },
|
||||
fieldLabel: gettext('Host group'),
|
||||
allowBlank: true
|
||||
},
|
||||
@@ -30199,9 +30231,60 @@
|
||||
@@ -30199,9 +30245,64 @@
|
||||
xtype: me.isCreate ? 'textfield' : 'displayfield',
|
||||
name: 'lio_tpg',
|
||||
value: '',
|
||||
- bind: me.isCreate ? { disabled: '{!isLIO}' } : { hidden: '{!isLIO}' },
|
||||
+ bind: { hidden: '{!isLIO}' },
|
||||
- allowBlank: false,
|
||||
- fieldLabel: gettext('Target portal group')
|
||||
+ bind: {
|
||||
+ hidden: '{!isLIO}'
|
||||
+ },
|
||||
+ fieldLabel: gettext('Target portal group'),
|
||||
+ allowBlank: true
|
||||
+ },
|
||||
|
|
@ -122,11 +140,11 @@
|
|||
+ reference: 'freenas_apiv4_host_field',
|
||||
+ value: '',
|
||||
+ editable: true,
|
||||
+ allowBlank: true,
|
||||
+ emptyText: Proxmox.Utils.noneText,
|
||||
+ bind: { hidden: '{!isFreeNAS}' },
|
||||
+ bind: {
|
||||
+ hidden: '{!isFreeNAS}'
|
||||
+ },
|
||||
+ fieldLabel: gettext('API IPv4 Host'),
|
||||
+ allowBlank: true
|
||||
+ },
|
||||
+ {
|
||||
+ xtype: 'proxmoxtextfield',
|
||||
|
|
@ -136,9 +154,10 @@
|
|||
+ value: '',
|
||||
+ editable: true,
|
||||
+ deleteEmpty: true,
|
||||
+ allowBlank: false,
|
||||
+ emptyText: Proxmox.Utils.noneText,
|
||||
+ bind: { hidden: '{!isFreeNAS}' },
|
||||
+ bind: {
|
||||
+ hidden: '{!isFreeNAS}'
|
||||
+ },
|
||||
+ fieldLabel: gettext('API Password'),
|
||||
+ change: function(f, value) {
|
||||
+ if (f.rendered) {
|
||||
|
|
@ -153,12 +172,12 @@
|
|||
+ inputType: me.isCreate ? '' : 'password',
|
||||
+ value: '',
|
||||
+ editable: true,
|
||||
+ deleteEmpty: true,
|
||||
allowBlank: false,
|
||||
- fieldLabel: gettext('Target portal group')
|
||||
+ submitValue: false,
|
||||
+ deleteEmpty: true,
|
||||
+ emptyText: Proxmox.Utils.noneText,
|
||||
+ bind: { hidden: '{!isFreeNAS}' },
|
||||
+ bind: {
|
||||
+ hidden: '{!isFreeNAS}'
|
||||
+ },
|
||||
+ fieldLabel: gettext('Confirm Password'),
|
||||
+ validator: function(value) {
|
||||
+ var pw = this.up().down('field[name=freenas_password]').getValue();
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
--- pvemanagerlib-5.3-6.js 2018-12-21 12:54:58.650421078 -0500
|
||||
+++ pvemanagerlib.js 2018-12-21 12:55:25.170120836 -0500
|
||||
+++ pvemanagerlib.js 2019-02-01 13:52:17.906074280 -0500
|
||||
@@ -5894,6 +5894,7 @@
|
||||
alias: ['widget.pveiScsiProviderSelector'],
|
||||
comboItems: [
|
||||
|
|
@ -16,7 +16,7 @@
|
|||
hasWriteCacheOption: true
|
||||
}
|
||||
},
|
||||
@@ -30097,10 +30099,19 @@
|
||||
@@ -30097,10 +30099,26 @@
|
||||
}
|
||||
},
|
||||
changeISCSIProvider: function(f, newVal, oldVal) {
|
||||
|
|
@ -31,13 +31,20 @@
|
|||
+ me.lookupReference('freenas_use_ssl_field').setValue(false);
|
||||
+ me.lookupReference('freenas_apiv4_host_field').setValue('');
|
||||
+ me.lookupReference('freenas_user_field').setValue('');
|
||||
+ me.lookupReference('freenas_user_field').allowBlank = true;
|
||||
+ me.lookupReference('freenas_password_field').setValue('');
|
||||
+ me.lookupReference('freenas_password_field').allowBlank = true;
|
||||
+ me.lookupReference('freenas_confirmpw_field').setValue('');
|
||||
+ me.lookupReference('freenas_confirmpw_field').allowBlank = true;
|
||||
+ } else {
|
||||
+ me.lookupReference('freenas_user_field').allowBlank = false;
|
||||
+ me.lookupReference('freenas_password_field').allowBlank = false;
|
||||
+ me.lookupReference('freenas_confirmpw_field').allowBlank = false;
|
||||
+ }
|
||||
}
|
||||
},
|
||||
|
||||
@@ -30118,6 +30129,7 @@
|
||||
@@ -30118,6 +30136,7 @@
|
||||
},
|
||||
|
||||
setValues: function diff(values) {
|
||||
|
|
@ -45,7 +52,7 @@
|
|||
values.writecache = values.nowritecache ? 0 : 1;
|
||||
this.callParent([values]);
|
||||
},
|
||||
@@ -30134,7 +30146,7 @@
|
||||
@@ -30134,7 +30153,7 @@
|
||||
allowBlank: false
|
||||
},
|
||||
{
|
||||
|
|
@ -54,7 +61,7 @@
|
|||
name: 'pool',
|
||||
value: '',
|
||||
fieldLabel: gettext('Pool'),
|
||||
@@ -30144,11 +30156,11 @@
|
||||
@@ -30144,11 +30163,11 @@
|
||||
xtype: me.isCreate ? 'textfield' : 'displayfield',
|
||||
name: 'blocksize',
|
||||
value: '4k',
|
||||
|
|
@ -68,12 +75,14 @@
|
|||
name: 'target',
|
||||
value: '',
|
||||
fieldLabel: gettext('Target'),
|
||||
@@ -30159,8 +30171,28 @@
|
||||
@@ -30159,8 +30178,33 @@
|
||||
name: 'comstar_tg',
|
||||
value: '',
|
||||
fieldLabel: gettext('Target group'),
|
||||
- bind: me.isCreate ? { disabled: '{!isComstar}' } : { hidden: '{!isComstar}' },
|
||||
+ bind: { hidden: '{!isComstar}' },
|
||||
+ bind: {
|
||||
+ hidden: '{!isComstar}'
|
||||
+ },
|
||||
allowBlank: true
|
||||
+ },
|
||||
+ {
|
||||
|
|
@ -82,7 +91,9 @@
|
|||
+ reference: 'freenas_use_ssl_field',
|
||||
+ inputId: 'freenas_use_ssl_field',
|
||||
+ checked: false,
|
||||
+ bind: { hidden: '{!isFreeNAS}' },
|
||||
+ bind: {
|
||||
+ hidden: '{!isFreeNAS}'
|
||||
+ },
|
||||
+ uncheckedValue: 0,
|
||||
+ fieldLabel: gettext('API use SSL')
|
||||
+ },
|
||||
|
|
@ -92,27 +103,34 @@
|
|||
+ reference: 'freenas_user_field',
|
||||
+ inputId: 'freenas_user_field',
|
||||
+ value: '',
|
||||
+ allowBlank: false,
|
||||
+ fieldLabel: gettext('API Username'),
|
||||
+ bind: { hidden: '{!isFreeNAS}' },
|
||||
+ bind: {
|
||||
+ hidden: '{!isFreeNAS}'
|
||||
+ }
|
||||
}
|
||||
];
|
||||
|
||||
@@ -30191,7 +30223,7 @@
|
||||
@@ -30191,7 +30235,9 @@
|
||||
xtype: me.isCreate ? 'textfield' : 'displayfield',
|
||||
name: 'comstar_hg',
|
||||
value: '',
|
||||
- bind: me.isCreate ? { disabled: '{!isComstar}' } : { hidden: '{!isComstar}' },
|
||||
+ bind: { hidden: '{!isComstar}' },
|
||||
+ bind: {
|
||||
+ hidden: '{!isComstar}'
|
||||
+ },
|
||||
fieldLabel: gettext('Host group'),
|
||||
allowBlank: true
|
||||
},
|
||||
@@ -30199,9 +30231,60 @@
|
||||
@@ -30199,9 +30245,64 @@
|
||||
xtype: me.isCreate ? 'textfield' : 'displayfield',
|
||||
name: 'lio_tpg',
|
||||
value: '',
|
||||
- bind: me.isCreate ? { disabled: '{!isLIO}' } : { hidden: '{!isLIO}' },
|
||||
+ bind: { hidden: '{!isLIO}' },
|
||||
- allowBlank: false,
|
||||
- fieldLabel: gettext('Target portal group')
|
||||
+ bind: {
|
||||
+ hidden: '{!isLIO}'
|
||||
+ },
|
||||
+ fieldLabel: gettext('Target portal group'),
|
||||
+ allowBlank: true
|
||||
+ },
|
||||
|
|
@ -122,11 +140,11 @@
|
|||
+ reference: 'freenas_apiv4_host_field',
|
||||
+ value: '',
|
||||
+ editable: true,
|
||||
+ allowBlank: true,
|
||||
+ emptyText: Proxmox.Utils.noneText,
|
||||
+ bind: { hidden: '{!isFreeNAS}' },
|
||||
+ bind: {
|
||||
+ hidden: '{!isFreeNAS}'
|
||||
+ },
|
||||
+ fieldLabel: gettext('API IPv4 Host'),
|
||||
+ allowBlank: true
|
||||
+ },
|
||||
+ {
|
||||
+ xtype: 'proxmoxtextfield',
|
||||
|
|
@ -136,9 +154,10 @@
|
|||
+ value: '',
|
||||
+ editable: true,
|
||||
+ deleteEmpty: true,
|
||||
+ allowBlank: false,
|
||||
+ emptyText: Proxmox.Utils.noneText,
|
||||
+ bind: { hidden: '{!isFreeNAS}' },
|
||||
+ bind: {
|
||||
+ hidden: '{!isFreeNAS}'
|
||||
+ },
|
||||
+ fieldLabel: gettext('API Password'),
|
||||
+ change: function(f, value) {
|
||||
+ if (f.rendered) {
|
||||
|
|
@ -153,12 +172,12 @@
|
|||
+ inputType: me.isCreate ? '' : 'password',
|
||||
+ value: '',
|
||||
+ editable: true,
|
||||
+ deleteEmpty: true,
|
||||
allowBlank: false,
|
||||
- fieldLabel: gettext('Target portal group')
|
||||
+ submitValue: false,
|
||||
+ deleteEmpty: true,
|
||||
+ emptyText: Proxmox.Utils.noneText,
|
||||
+ bind: { hidden: '{!isFreeNAS}' },
|
||||
+ bind: {
|
||||
+ hidden: '{!isFreeNAS}'
|
||||
+ },
|
||||
+ fieldLabel: gettext('Confirm Password'),
|
||||
+ validator: function(value) {
|
||||
+ var pw = this.up().down('field[name=freenas_password]').getValue();
|
||||
|
|
|
|||
Loading…
Reference in New Issue