]> git.proxmox.com Git - pve-manager.git/commitdiff
ui: dc/auth: refactor openID edit window to be more static
authorThomas Lamprecht <t.lamprecht@proxmox.com>
Sat, 3 Jul 2021 14:31:43 +0000 (16:31 +0200)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Sat, 3 Jul 2021 14:31:43 +0000 (16:31 +0200)
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
www/manager6/dc/AuthEditOpenId.js

index f82cb530576d67a1f8598a140195fa49ae242021..7ebb9c8fd3539f398212891d6c588cd8548b008f 100644 (file)
@@ -1,78 +1,86 @@
 Ext.define('PVE.panel.OpenIDInputPanel', {
     extend: 'PVE.panel.AuthBase',
     xtype: 'pveAuthOpenIDPanel',
+    mixins: ['Proxmox.Mixin.CBind'],
 
-    initComponent: function() {
+    onGetValues: function(values) {
        let me = this;
 
-       if (me.type !== 'openid') {
-           throw 'invalid type';
+       if (!values.verify) {
+           if (!me.isCreate) {
+               Proxmox.Utils.assemble_field_data(values, { 'delete': 'verify' });
+           }
+           delete values.verify;
        }
 
-       me.columnT = [
-           {
-               xtype: 'textfield',
-               name: 'issuer-url',
-               fieldLabel: gettext('Issuer URL'),
-               allowBlank: false,
-           },
-       ];
+       return me.callParent([values]);
+    },
 
-       me.column1 = [
-           {
-               xtype: 'proxmoxtextfield',
-               fieldLabel: gettext('Client ID'),
-               name: 'client-id',
-               allowBlank: false,
-           },
-           {
-               xtype: 'proxmoxtextfield',
-               fieldLabel: gettext('Client Key'),
-               deleteEmpty: !me.isCreate,
-               name: 'client-key',
+    columnT: [
+       {
+           xtype: 'textfield',
+           name: 'issuer-url',
+           fieldLabel: gettext('Issuer URL'),
+           allowBlank: false,
+       },
+    ],
+
+    column1: [
+       {
+           xtype: 'proxmoxtextfield',
+           fieldLabel: gettext('Client ID'),
+           name: 'client-id',
+           allowBlank: false,
+       },
+       {
+           xtype: 'proxmoxtextfield',
+           fieldLabel: gettext('Client Key'),
+           cbind: {
+               deleteEmpty: '{!isCreate}',
            },
-       ];
+           name: 'client-key',
+       },
+    ],
 
-       me.column2 = [
-           {
-               xtype: 'proxmoxcheckbox',
-               fieldLabel: gettext('Autocreate Users'),
-               name: 'autocreate',
-               value: 0,
-               deleteEmpty: !me.isCreate,
+    column2: [
+       {
+           xtype: 'proxmoxcheckbox',
+           fieldLabel: gettext('Autocreate Users'),
+           name: 'autocreate',
+           value: 0,
+           cbind: {
+               deleteEmpty: '{!isCreate}',
            },
-           {
-               xtype: 'pmxDisplayEditField',
-               editConfig: {
-                   xtype: 'proxmoxKVComboBox',
-               },
-               editable: me.isCreate,
-               name: 'username-claim',
-               value: me.isCreate ? '__default__' : Proxmox.Utils.defaultText,
-               deleteEmpty: !me.isCreate,
-               fieldLabel: gettext('Username Claim'),
-               comboItems: [
-                   ['__default__', Proxmox.Utils.defaultText],
-                   ['subject', 'subject'],
-                   ['username', 'username'],
-                   ['email', 'email'],
-               ],
+       },
+       {
+           xtype: 'pmxDisplayEditField',
+           name: 'username-claim',
+           editConfig: {
+               xtype: 'proxmoxKVComboBox',
            },
-       ];
+           cbind: {
+               value: get => get('isCreate') ? '__default__' : Proxmox.Utils.defaultText,
+               deleteEmpty: '{!isCreate}',
+               editable: '{isCreate}',
+           },
+           fieldLabel: gettext('Username Claim'),
+           comboItems: [
+               ['__default__', Proxmox.Utils.defaultText],
+               ['subject', 'subject'],
+               ['username', 'username'],
+               ['email', 'email'],
+           ],
+       },
+    ],
 
-       me.callParent();
-    },
-    onGetValues: function(values) {
+    initComponent: function() {
        let me = this;
 
-       if (!values.verify) {
-           if (!me.isCreate) {
-               Proxmox.Utils.assemble_field_data(values, { 'delete': 'verify' });
-           }
-           delete values.verify;
+       if (me.type !== 'openid') {
+           throw 'invalid type';
        }
 
-       return me.callParent([values]);
+       me.callParent();
     },
 });