ui: fix on-parse use of global Proxmox.UserName
This is wrong most of the time, when not loading the web interface with valid credentials, and thus some checks or defaults did not evaluated correctly when the underlying value was only set later. Needs to be set on component creation only, this can be done through initComponent, even listeners, view controllers or cbind closures. Use the latter, as all affected components already use cbind. Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
This commit is contained in:
parent
edda5039d4
commit
958055a789
@ -40,7 +40,7 @@ Ext.define('PBS.window.AddTfaRecovery', {
|
|||||||
viewModel: {
|
viewModel: {
|
||||||
data: {
|
data: {
|
||||||
has_entry: false,
|
has_entry: false,
|
||||||
userid: Proxmox.UserName,
|
userid: null,
|
||||||
},
|
},
|
||||||
formulas: {
|
formulas: {
|
||||||
passwordConfirmText: (get) => {
|
passwordConfirmText: (get) => {
|
||||||
@ -89,6 +89,7 @@ Ext.define('PBS.window.AddTfaRecovery', {
|
|||||||
name: 'userid',
|
name: 'userid',
|
||||||
cbind: {
|
cbind: {
|
||||||
editable: (get) => !get('fixedUser'),
|
editable: (get) => !get('fixedUser'),
|
||||||
|
value: () => Proxmox.UserName,
|
||||||
},
|
},
|
||||||
fieldLabel: gettext('User'),
|
fieldLabel: gettext('User'),
|
||||||
editConfig: {
|
editConfig: {
|
||||||
@ -99,7 +100,6 @@ Ext.define('PBS.window.AddTfaRecovery', {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
renderer: Ext.String.htmlEncode,
|
renderer: Ext.String.htmlEncode,
|
||||||
value: Proxmox.UserName,
|
|
||||||
listeners: {
|
listeners: {
|
||||||
change: 'onUseridChange',
|
change: 'onUseridChange',
|
||||||
},
|
},
|
||||||
@ -127,8 +127,10 @@ Ext.define('PBS.window.AddTfaRecovery', {
|
|||||||
name: 'password',
|
name: 'password',
|
||||||
allowBlank: false,
|
allowBlank: false,
|
||||||
validateBlank: true,
|
validateBlank: true,
|
||||||
hidden: Proxmox.UserName === 'root@pam',
|
cbind: {
|
||||||
disabled: Proxmox.UserName === 'root@pam',
|
hidden: () => Proxmox.UserName === 'root@pam',
|
||||||
|
disabled: () => Proxmox.UserName === 'root@pam',
|
||||||
|
},
|
||||||
bind: {
|
bind: {
|
||||||
emptyText: '{passwordConfirmText}',
|
emptyText: '{passwordConfirmText}',
|
||||||
},
|
},
|
||||||
|
@ -50,7 +50,7 @@ Ext.define('PBS.window.AddTotp', {
|
|||||||
valid: false,
|
valid: false,
|
||||||
secret: '',
|
secret: '',
|
||||||
otpuri: '',
|
otpuri: '',
|
||||||
userid: Proxmox.UserName,
|
userid: null,
|
||||||
},
|
},
|
||||||
|
|
||||||
formulas: {
|
formulas: {
|
||||||
@ -96,11 +96,6 @@ Ext.define('PBS.window.AddTotp', {
|
|||||||
view.down('#qrbox').getEl().appendChild(view.qrdiv);
|
view.down('#qrbox').getEl().appendChild(view.qrdiv);
|
||||||
|
|
||||||
view.getController().randomizeSecret();
|
view.getController().randomizeSecret();
|
||||||
|
|
||||||
if (Proxmox.UserName === 'root@pam') {
|
|
||||||
view.lookup('password').setVisible(false);
|
|
||||||
view.lookup('password').setDisabled(true);
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -140,6 +135,7 @@ Ext.define('PBS.window.AddTotp', {
|
|||||||
name: 'userid',
|
name: 'userid',
|
||||||
cbind: {
|
cbind: {
|
||||||
editable: (get) => get('isAdd') && !get('fixedUser'),
|
editable: (get) => get('isAdd') && !get('fixedUser'),
|
||||||
|
value: () => Proxmox.UserName,
|
||||||
},
|
},
|
||||||
fieldLabel: gettext('User'),
|
fieldLabel: gettext('User'),
|
||||||
editConfig: {
|
editConfig: {
|
||||||
@ -147,7 +143,6 @@ Ext.define('PBS.window.AddTotp', {
|
|||||||
allowBlank: false,
|
allowBlank: false,
|
||||||
},
|
},
|
||||||
renderer: Ext.String.htmlEncode,
|
renderer: Ext.String.htmlEncode,
|
||||||
value: Proxmox.UserName,
|
|
||||||
listeners: {
|
listeners: {
|
||||||
change: function(field, newValue, oldValue) {
|
change: function(field, newValue, oldValue) {
|
||||||
let vm = this.up('window').getViewModel();
|
let vm = this.up('window').getViewModel();
|
||||||
@ -259,6 +254,10 @@ Ext.define('PBS.window.AddTotp', {
|
|||||||
name: 'password',
|
name: 'password',
|
||||||
allowBlank: false,
|
allowBlank: false,
|
||||||
validateBlank: true,
|
validateBlank: true,
|
||||||
|
cbind: {
|
||||||
|
hidden: () => Proxmox.UserName === 'root@pam',
|
||||||
|
disabled: () => Proxmox.UserName === 'root@pam',
|
||||||
|
},
|
||||||
bind: {
|
bind: {
|
||||||
emptyText: '{passwordConfirmText}',
|
emptyText: '{passwordConfirmText}',
|
||||||
},
|
},
|
||||||
|
@ -22,7 +22,7 @@ Ext.define('PBS.window.AddWebauthn', {
|
|||||||
viewModel: {
|
viewModel: {
|
||||||
data: {
|
data: {
|
||||||
valid: false,
|
valid: false,
|
||||||
userid: Proxmox.UserName,
|
userid: null,
|
||||||
},
|
},
|
||||||
formulas: {
|
formulas: {
|
||||||
passwordConfirmText: (get) => {
|
passwordConfirmText: (get) => {
|
||||||
@ -153,6 +153,7 @@ Ext.define('PBS.window.AddWebauthn', {
|
|||||||
name: 'user',
|
name: 'user',
|
||||||
cbind: {
|
cbind: {
|
||||||
editable: (get) => !get('fixedUser'),
|
editable: (get) => !get('fixedUser'),
|
||||||
|
value: () => Proxmox.UserName,
|
||||||
},
|
},
|
||||||
fieldLabel: gettext('User'),
|
fieldLabel: gettext('User'),
|
||||||
editConfig: {
|
editConfig: {
|
||||||
@ -160,7 +161,6 @@ Ext.define('PBS.window.AddWebauthn', {
|
|||||||
allowBlank: false,
|
allowBlank: false,
|
||||||
},
|
},
|
||||||
renderer: Ext.String.htmlEncode,
|
renderer: Ext.String.htmlEncode,
|
||||||
value: Proxmox.UserName,
|
|
||||||
listeners: {
|
listeners: {
|
||||||
change: function(field, newValue, oldValue) {
|
change: function(field, newValue, oldValue) {
|
||||||
let vm = this.up('window').getViewModel();
|
let vm = this.up('window').getViewModel();
|
||||||
@ -185,6 +185,10 @@ Ext.define('PBS.window.AddWebauthn', {
|
|||||||
name: 'password',
|
name: 'password',
|
||||||
allowBlank: false,
|
allowBlank: false,
|
||||||
validateBlank: true,
|
validateBlank: true,
|
||||||
|
cbind: {
|
||||||
|
hidden: () => Proxmox.UserName === 'root@pam',
|
||||||
|
disabled: () => Proxmox.UserName === 'root@pam',
|
||||||
|
},
|
||||||
bind: {
|
bind: {
|
||||||
emptyText: '{passwordConfirmText}',
|
emptyText: '{passwordConfirmText}',
|
||||||
},
|
},
|
||||||
|
@ -50,7 +50,9 @@ Ext.define('PBS.window.TfaEdit', {
|
|||||||
xtype: 'pbsUserSelector',
|
xtype: 'pbsUserSelector',
|
||||||
allowBlank: false,
|
allowBlank: false,
|
||||||
},
|
},
|
||||||
value: Proxmox.UserName,
|
cbind: {
|
||||||
|
value: () => Proxmox.UserName,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
xtype: 'proxmoxtextfield',
|
xtype: 'proxmoxtextfield',
|
||||||
|
@ -23,13 +23,13 @@ Ext.define('PBS.window.TokenEdit', {
|
|||||||
xtype: 'pmxDisplayEditField',
|
xtype: 'pmxDisplayEditField',
|
||||||
cbind: {
|
cbind: {
|
||||||
editable: (get) => get('isCreate') && !get('fixedUser'),
|
editable: (get) => get('isCreate') && !get('fixedUser'),
|
||||||
|
value: () => Proxmox.UserName,
|
||||||
},
|
},
|
||||||
editConfig: {
|
editConfig: {
|
||||||
xtype: 'pbsUserSelector',
|
xtype: 'pbsUserSelector',
|
||||||
allowBlank: false,
|
allowBlank: false,
|
||||||
},
|
},
|
||||||
name: 'user',
|
name: 'user',
|
||||||
value: Proxmox.UserName,
|
|
||||||
renderer: Ext.String.htmlEncode,
|
renderer: Ext.String.htmlEncode,
|
||||||
fieldLabel: gettext('User'),
|
fieldLabel: gettext('User'),
|
||||||
},
|
},
|
||||||
|
Loading…
x
Reference in New Issue
Block a user