public inbox for pmg-devel@lists.proxmox.com
 help / color / mirror / Atom feed
From: Dominik Csapak <d.csapak@proxmox.com>
To: pmg-devel@lists.proxmox.com
Subject: Re: [pmg-devel] [PATCH gui] add certificates and acme view
Date: Thu, 11 Mar 2021 13:35:11 +0100	[thread overview]
Message-ID: <754b8114-110d-a7ee-e3a3-6ebf73c04f9b@proxmox.com> (raw)
In-Reply-To: <20210309141401.19237-10-w.bumiller@proxmox.com>

comments inline

On 3/9/21 3:13 PM, Wolfgang Bumiller wrote:
> Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
> ---
>   js/Certificates.js   | 108 +++++++++++++++++++++++++++++++++++++++++++
>   js/Makefile          |   1 +
>   js/NavigationTree.js |   6 +++
>   3 files changed, 115 insertions(+)
>   create mode 100644 js/Certificates.js
> 
> diff --git a/js/Certificates.js b/js/Certificates.js
> new file mode 100644
> index 0000000..33b1bde
> --- /dev/null
> +++ b/js/Certificates.js
> @@ -0,0 +1,108 @@
> +Ext.define('PMG.CertificateConfiguration', {
> +    extend: 'Ext.tab.Panel',
> +    alias: 'widget.pmgCertificateConfiguration',
> +
> +    title: gettext('Certificates'),
> +
> +    border: false,
> +    defaults: { border: false },
> +
> +    items: [
> +	{
> +	    itemId: 'certificates',
> +	    xtype: 'pmgCertificatesView',
> +	    border: 0,
> +	},
> +	{
> +	    itemId: 'acme',
> +	    xtype: 'pmgACMEConfigView',
> +	    border: 0,
> +	},
> +    ],
> +});

why the defaults: border: false and the border: 0?
one should be enough

> +
> +Ext.define('PMG.CertificateView', {
> +    extend: 'Ext.container.Container',
> +    alias: 'widget.pmgCertificatesView',
> +
> +    title: gettext('Certificates'),
> +
> +    //onlineHelp: 'sysadmin_certificate_management',

seems to be leftover (we should probably have the docs here too?)

> +
> +    initComponent: function() {
> +	let me = this;
> +
> +	Ext.apply(me, {
> +	    items: [
> +		{
> +		    xtype: 'pmxCertificates',
> +		    border: 0,
> +		    infoUrl: '/nodes/' + Proxmox.NodeName + '/certificates/info',
> +		    uploadButtons: [
> +			{
> +			    name: 'API',
> +			    id: 'pmg-api.pem',
> +			    url: `/nodes/${Proxmox.NodeName}/certificates/custom/api`,
> +			    deletable: false,
> +			    reloadUi: true,
> +			},
> +			{
> +			    name: 'SMTP',
> +			    id: 'pmg-tls.pem',
> +			    url: `/nodes/${Proxmox.NodeName}/certificates/custom/smtp`,
> +			    deletable: true,
> +			},
> +		    ],
> +		},
> +		{
> +		    xtype: 'pmxACMEDomains',
> +		    border: 0,
> +		    url: `/nodes/${Proxmox.NodeName}/config`,
> +		    nodename: Proxmox.NodeName,
> +		    acmeUrl: '/config/acme',
> +		    domainUsages: [
> +			{
> +			    usage: 'api',
> +			    name: 'API',
> +			    url: `/nodes/${Proxmox.NodeName}/certificates/acme/api`,
> +			    reloadUi: true,
> +			},
> +			{
> +			    usage: 'smtp',
> +			    name: 'SMTP',
> +			    url: `/nodes/${Proxmox.NodeName}/certificates/acme/smtp`,
> +			},
> +		    ],
> +		},
> +	    ],
> +	});
> +
> +	me.callParent();
> +    },
> +});

this could be written without initComponent, nothing there depends on a
local variable (Proxmox.NodeName is set by the page and always available)

> +
> +Ext.define('PMG.ACMEConfigView', {
> +    extend: 'Ext.panel.Panel',
> +    alias: 'widget.pmgACMEConfigView',
> +
> +    title: gettext('ACME Accounts'),
> +
> +    //onlineHelp: 'sysadmin_certificate_management',
> +
> +    items: [
> +	{
> +	    region: 'north',
> +	    border: false,
> +	    xtype: 'pmxACMEAccounts',
> +	    acmeUrl: '/config/acme',
> +	},
> +	{
> +	    region: 'center',
> +	    border: false,
> +	    xtype: 'pmxACMEPluginView',
> +	    acmeUrl: '/config/acme',
> +	},
> +    ],
> +});
> +
> +
> diff --git a/js/Makefile b/js/Makefile
> index a5266fc..43d3ad8 100644
> --- a/js/Makefile
> +++ b/js/Makefile
> @@ -91,6 +91,7 @@ JSSRC=							\
>   	ContactStatistics.js				\
>   	HourlyMailDistribution.js			\
>   	SpamContextMenu.js				\
> +	Certificates.js					\
>   	Application.js
>   
>   OnlineHelpInfo.js: /usr/bin/asciidoc-pmg
> diff --git a/js/NavigationTree.js b/js/NavigationTree.js
> index ac01fd6..63f8e94 100644
> --- a/js/NavigationTree.js
> +++ b/js/NavigationTree.js
> @@ -92,6 +92,12 @@ Ext.define('PMG.store.NavigationStore', {
>   			path: 'pmgBackupConfiguration',
>   			leaf: true,
>   		    },
> +		    {
> +			text: gettext('Certificates'),
> +			iconCls: 'fa fa-certificate',
> +			path: 'pmgCertificateConfiguration',
> +			leaf: true,
> +		    },
>   		],
>   	    },
>   	    {
> 




  reply	other threads:[~2021-03-11 12:35 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-09 14:13 [pmg-devel] [RFC api/gui/wtk/acme 0/many] Certificates & ACME Wolfgang Bumiller
2021-03-09 14:13 ` [pmg-devel] [PATCH api 1/8] depend on libpmg-rs-perl and proxmox-acme Wolfgang Bumiller
2021-03-09 14:13 ` [pmg-devel] [PATCH api 2/8] add PMG::CertHelpers module Wolfgang Bumiller
2021-03-11 10:05   ` Dominik Csapak
2021-03-12 13:55     ` Wolfgang Bumiller
2021-03-09 14:13 ` [pmg-devel] [PATCH api 3/8] add PMG::NodeConfig module Wolfgang Bumiller
2021-03-09 14:13 ` [pmg-devel] [PATCH api 4/8] cluster: sync acme/ and acme-plugins.conf Wolfgang Bumiller
2021-03-09 14:13 ` [pmg-devel] [PATCH api 5/8] api: add ACME and ACMEPlugin module Wolfgang Bumiller
2021-03-11 10:41   ` Dominik Csapak
2021-03-12 14:10     ` Wolfgang Bumiller
2021-03-09 14:13 ` [pmg-devel] [PATCH api 6/8] add certificates api endpoint Wolfgang Bumiller
2021-03-11 11:06   ` Dominik Csapak
2021-03-12 14:51     ` Wolfgang Bumiller
2021-03-09 14:13 ` [pmg-devel] [PATCH api 7/8] add node-config api entry points Wolfgang Bumiller
2021-03-09 14:13 ` [pmg-devel] [PATCH api 8/8] add acme and cert subcommands to pmgconfig Wolfgang Bumiller
2021-03-09 14:13 ` [pmg-devel] [PATCH gui] add certificates and acme view Wolfgang Bumiller
2021-03-11 12:35   ` Dominik Csapak [this message]
2021-03-09 14:13 ` [pmg-devel] [PATCH acme] add missing 'use PVE::Acme' statement Wolfgang Bumiller
2021-03-12 15:00   ` [pmg-devel] applied: " Thomas Lamprecht
2021-03-09 14:13 ` [pmg-devel] [PATCH widget-toolkit 1/7] Utils: add ACME related utilities Wolfgang Bumiller
2021-03-09 14:13 ` [pmg-devel] [PATCH widget-toolkit 2/7] add ACME related data models Wolfgang Bumiller
2021-03-11 12:41   ` Dominik Csapak
2021-03-09 14:13 ` [pmg-devel] [PATCH widget-toolkit 3/7] add ACME forms: Wolfgang Bumiller
2021-03-09 14:13 ` [pmg-devel] [PATCH widget-toolkit 4/7] add certificate panel Wolfgang Bumiller
2021-03-09 14:13 ` [pmg-devel] [PATCH widget-toolkit 5/7] add ACME account panel Wolfgang Bumiller
2021-03-11 13:51   ` Dominik Csapak
2021-03-11 15:14     ` Thomas Lamprecht
2021-03-11 15:16       ` Dominik Csapak
2021-03-11 15:27         ` Thomas Lamprecht
2021-03-09 14:14 ` [pmg-devel] [PATCH widget-toolkit 6/7] add ACME plugin editing Wolfgang Bumiller
2021-03-09 14:14 ` [pmg-devel] [PATCH widget-toolkit 7/7] add ACME domain editing Wolfgang Bumiller
2021-03-10 12:27 ` [pmg-devel] [RFC api/gui/wtk/acme 0/many] Certificates & ACME Dominik Csapak

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=754b8114-110d-a7ee-e3a3-6ebf73c04f9b@proxmox.com \
    --to=d.csapak@proxmox.com \
    --cc=pmg-devel@lists.proxmox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal