Commit Graph

24 Commits

Author SHA1 Message Date
Thomas Lamprecht
f6710aac38 ui: eslint: fix trailing comma and comma related whitespaces errors
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-01-19 17:31:03 +01:00
Thomas Lamprecht
1d5c5ba19a acme: account: hide TOS checkbox during load and reuse field references
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-05-14 16:28:39 +02:00
Thomas Lamprecht
e023535e15 ui: acme: label account name field as such
As else some people could be confused and put in their name, as below
is the email field, and name+email are quite often pairs.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-05-14 16:27:08 +02:00
Dominik Csapak
04a8058e28 ui: ACMEAccountCreate: improve layout of account dialog
by increasing the space for the link, and using a boxLabel instead
of fieldLabel, which has better spacing for longer text

also move the e-mail before the directory to have all textboxes together

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-05-14 16:11:30 +02:00
Dominik Csapak
fc40915c7c ui: ACMEAccountCreate: make name only optional if no default exists
if the 'default' account exists, make the name field required and
remove the emptytext

get the information by querying the grid store. this may be not
up-to-date, but it is less intrusive that an extra api call that
blocks the window

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-05-07 14:32:55 +02:00
Dominik Csapak
1f2497692a ui: node/{ACME, Certificates}: add stopUpdate on destruction
else the stores never stop updating

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-05-07 12:54:30 +02:00
Dominik Csapak
1580b60501 ui: node/ACME: only enable order button when it should work
to order a ceritificate, we need at least one configured domain, and
the configured account (or default) must exist

so track the domaincount in the viewmodel and introduce a
'canOrder' formula which is only true when domaincount > 0 and
account is set (if the configured account does not exist, or no account
exists at all we set 'account' to 'null')

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-05-07 12:54:30 +02:00
Dominik Csapak
3071cc5be1 ui: node/ACME: use accountselector for verification
instead of using API2Request manually, just reload the store of
the accountselector and check if the configured account is in it

this should fix the spurious loading mask of the panel when
loading the accounts

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-05-07 12:54:30 +02:00
Dominik Csapak
80bd3209e7 ui: node/ACME: fix some eslint errors/warnings
* unneeded brackets for arrow function
* unused variables
* me not defined
* trailing commas

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-05-07 12:54:30 +02:00
Dominik Csapak
e666f688ef ui: ACME: add emptyText and add minHeight
without the minHeight, the panel does resize weirdly on the first load

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-05-07 12:54:30 +02:00
Thomas Lamprecht
eff602d867 add some onlineHelp
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-05-06 20:12:23 +02:00
Thomas Lamprecht
31c9edc85e ui: acme: allow to register+set an account directly
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-05-06 20:04:13 +02:00
Thomas Lamprecht
8b779b4a27 ui: acme add domain: prefill with nodename.
FQDN would be more ideal, though

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-05-06 20:03:45 +02:00
Thomas Lamprecht
a94b71fba8 ui: acme add domain: move Domain field below, hide plugin in http mode
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-05-06 20:03:19 +02:00
Thomas Lamprecht
9c164224e5 ui: acme: call Standalone plugin type HTTP
It's not 100% true, but for the user more understandable. IF we
actually change such that this detail matters we can still go for a
"Better" solution then, as it will need UI updates anyway..

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-05-06 20:01:42 +02:00
Thomas Lamprecht
1b90cfc6ab ui: acme: reduce update store interval
the grid glitches on load, that's a bug which we just reduce it's
frequency here...

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-05-06 19:13:56 +02:00
Thomas Lamprecht
3c6b4c80ce acme: various small UX improvements
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-05-06 19:13:38 +02:00
Thomas Lamprecht
a8b6a80af8 ui: acme: actually show Account button if none is registered
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-05-06 19:13:09 +02:00
Thomas Lamprecht
6ac64c3aed fix undefined access on acme variable
We have 4 call sites of that, one had a fallback - the other three
was totally unchecked and triggered already exceptions on panel
render ... -.-

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-05-06 19:11:13 +02:00
Dominik Csapak
fd2542336b ui: node/ACME: rework ACME grid for plugin based domains
This is basically a complete rework of the ACME grid.
Instead of having an ObjectGrid, we now have a normal
GridPanel which allows us to show a row for each Domain.

But to achieve this, we need to manually fill the store with data
from the 'acme' and 'acmedomainX' entries of the node config.

We also add an AccountSelector to the tbar and a link to the
datacenter->acme panel (when there is no account)

this also removes the 'register account' and 'view account' buttons,
since those are now available in datacenter->acme

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-05-06 17:49:35 +02:00
Dominik Csapak
8e49a93fff ui: node/ACME: add ACMEDomainEdit
which expects a nodeconfig (for digest and domaincount)
and for the edit case, the parsed 'domain' object

this editwindow has three fields:
* type selector (standalone/dns)
* domain
* plugin (only for dns)

if the user chooses dns but there are already the maximum count of
acmedomainX entries, the type field gets invalid (with a error tooltip)

the onGetValues method is non-trivial, because of the mixing of
acmedomainX and acme.domain values, so we have to be careful
that we delete/edit the correct entry

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-05-06 17:49:35 +02:00
Dominik Csapak
c0afd5cc0a ui: ACMEAccountCreate: add optional name field
so that we can create multiple accounts, but leave it empty and set the
emptyText to the default name 'default'

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-05-05 19:23:04 +02:00
Thomas Lamprecht
a558eb87a0 ui/acme: remove 'Renew Cert' button for now
You can normally do this with the Order Cert button, with almost the
same result, and it isn't something which will be needed often, if
the UI is somehow inaccessible (due to cert problem) then this is
useless anyway, and the CLI must be used anyhow.

Can be easily reverted if we deem this necessary later on.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-05-04 16:21:11 +02:00
Dominik Csapak
488be4c2c0 add node/ACME.js
this provides the grid for editing domains for letsencrypt,
order/renew the certificates, and the window for creating an
ACME account

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-05-04 16:11:00 +02:00