--- pvemanagerlib.js.5.2-8.js 2018-08-30 20:10:52.957313992 -0400 +++ pvemanagerlib.js.new 2018-09-01 16:20:05.131908768 -0400 @@ -28578,6 +28578,7 @@ data: { isLIO: false, isComstar: true, + isFreeNAS: false, hasWriteCacheOption: true } }, @@ -28590,11 +28591,18 @@ } }, changeISCSIProvider: function(f, newVal, oldVal) { + var me = this; var vm = this.getViewModel(); vm.set('isLIO', newVal === 'LIO'); vm.set('isComstar', newVal === 'comstar'); vm.set('isFreeNAS', newVal === 'freenas'); - vm.set('hasWriteCacheOption', newVal === 'comstar' || newVal === 'istgt'); + vm.set('hasWriteCacheOption', newVal === 'comstar' || newVal === 'freenas' || newVal === 'istgt'); + if (newVal !== 'freenas') { + me.lookupReference('freenas_use_ssl_field').setValue(false); + me.lookupReference('freenas_apiv4_host_field').setValue(''); + me.lookupReference('freenas_user_field').setValue(''); + me.lookupReference('freenas_password_field').setValue(''); + } } }, @@ -28653,16 +28661,28 @@ name: 'comstar_tg', value: '', fieldLabel: gettext('Target group'), - bind: me.isCreate ? { disabled: '{!isComstar}' } : { hidden: '{!isComstar}' }, + bind: me.isCreate ? { hidden: '{!isComstar}' } : { hidden: '{!isComstar}' }, allowBlank: true }, { + xtype: 'proxmoxcheckbox', + name: 'freenas_use_ssl', + reference: 'freenas_use_ssl_field', + inputId: 'freenas_use_ssl_field', + checked: false, + bind: me.isCreate ? { hidden: '{!isFreeNAS}' } : { hidden: '{!isFreeNAS}' }, + uncheckedValue: 0, + fieldLabel: gettext('API use SSL') + }, + { xtype: me.isCreate ? 'textfield' : 'displayfield', name: 'freenas_user', + reference: 'freenas_user_field', + inputId: 'freenas_user_field', value: '', - fieldLabel: gettext('FreeNAS User'), + fieldLabel: gettext('API Username'), bind: me.isCreate ? { hidden: '{!isFreeNAS}' } : { hidden: '{!isFreeNAS}' }, - allowBlank: true + allowBlank: me.isFreeNAS ? false : true } ]; @@ -28693,7 +28713,7 @@ xtype: me.isCreate ? 'textfield' : 'displayfield', name: 'comstar_hg', value: '', - bind: me.isCreate ? { disabled: '{!isComstar}' } : { hidden: '{!isComstar}' }, + bind: me.isCreate ? { hidden: '{!isComstar}' } : { hidden: '{!isComstar}' }, fieldLabel: gettext('Host group'), allowBlank: true }, @@ -28701,9 +28721,27 @@ xtype: me.isCreate ? 'textfield' : 'displayfield', name: 'lio_tpg', value: '', - bind: me.isCreate ? { disabled: '{!isLIO}' } : { hidden: '{!isLIO}' }, - allowBlank: false, - fieldLabel: gettext('Target portal group') + bind: me.isCreate ? { hidden: '{!isLIO}' } : { hidden: '{!isLIO}' }, + fieldLabel: gettext('Target portal group'), + allowBlank: true + }, + { + xtype: me.isCreate ? 'textfield' : 'displayfield', + name: 'freenas_apiv4_host', + reference: 'freenas_apiv4_host_field', + value: '', + bind: me.isCreate ? { hidden: '{!isFreeNAS}' } : { hidden: '{!isFreeNAS}' }, + fieldLabel: gettext('API IPv4 Host'), + allowBlank: true + }, + { + xtype: me.isCreate ? 'textfield' : 'displayfield', + name: 'freenas_password', + reference: 'freenas_password_field', + value: '', + bind: me.isCreate ? { hidden: '{!isFreeNAS}' } : { hidden: '{!isFreeNAS}' }, + fieldLabel: gettext('API Password'), + allowBlank: true } ];