Adds fields for eab credentials. By default eab is optional, but if the
directory should report that eab is required, the eab credential fields
are marked as mandatory and prevent the form from being submittable
until credentials are provided.

Signed-off-by: Folke Gleumes <f.gleu...@proxmox.com>
---
 www/manager6/node/ACME.js | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/www/manager6/node/ACME.js b/www/manager6/node/ACME.js
index 5b71778a..ab2f0211 100644
--- a/www/manager6/node/ACME.js
+++ b/www/manager6/node/ACME.js
@@ -16,6 +16,12 @@ Ext.define('PVE.node.ACMEAccountCreate', {
     viewModel: {
        data: {
            customDirectory: false,
+           eabRequired: false,
+       },
+       formulas: {
+           eabEmptyText: function(get) {
+               return get('eabRequired') ? gettext("required") : 
gettext("optional");
+           },
        },
     },
 
@@ -123,6 +129,7 @@ Ext.define('PVE.node.ACMEAccountCreate', {
                            let me = this;
 
                            let w = me.up('window');
+                           let vm = w.getViewModel();
                            let disp = w.down('#tos_url_display');
                            let field = w.down('#tos_url');
                            let checkbox = w.down('#tos_checkbox');
@@ -150,6 +157,7 @@ Ext.define('PVE.node.ACMEAccountCreate', {
                                        checkbox.setValue(false);
                                        disp.setValue("No terms of service 
agreement required");
                                    }
+                                   vm.set('eabRequired', 
!!response.result.data.externalAccountRequired);
                                },
                                failure: function(response, opt) {
                                    disp.setValue(undefined);
@@ -184,6 +192,26 @@ Ext.define('PVE.node.ACMEAccountCreate', {
                return false;
            },
        },
+       {
+           xtype: 'proxmoxtextfield',
+           name: 'eab-kid',
+           fieldLabel: gettext('EAB Key ID'),
+           bind: {
+               hidden: '{!customDirectory}',
+               allowBlank: '{!eabRequired}',
+               emptyText: '{eabEmptyText}',
+           },
+       },
+       {
+           xtype: 'proxmoxtextfield',
+           name: 'eab-hmac-key',
+           fieldLabel: gettext('EAB Key'),
+           bind: {
+               hidden: '{!customDirectory}',
+               allowBlank: '{!eabRequired}',
+               emptyText: '{eabEmptyText}',
+           },
+       },
     ],
 
     clearToSFields: function() {
-- 
2.39.2



_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to