this is not a synchronous api call, so open a taskprogress window
and reload after the task is done
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
if we use a diff/update store combo, we have to load the updatestore
not the diff store, else we get spurious empty grids
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
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>
we need to parse the config even if it does not exist - it will return
the 'standalone' entry that's needed to be backwards compatible with
existing setups.
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
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>
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>
on all call sites, we assume $cfg->{domains} is a hash, but if we do not
have any domains configured, that fails with
'Can't use an undefined value as a HASH reference at ...'
so always make domains a hash to avoid this
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
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>
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>
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>
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>
to convieniently add and remove domains from a parsed ACME object
they also make domains unique in the array
also add the count of configureable acmedomainX entries
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
since we decode the domain list in parseACME into an array, we
have to join them again to a string when printing
otherwise printPropertyString attaches them just with ',' which
does not work here
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
filter the plugins by type === 'dns'
and add a convenience method for ACMEAccountSelector to check if there
are any accounts
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
to clean service directories as well as disable and stop Ceph services.
Addtionally provide the option to remove crash and log information.
This patch is also in addtion to #2607, as the current cleanup doesn't
allow to re-configure Ceph, without manual steps during purge.
Signed-off-by: Alwin Antreich <a.antreich@proxmox.com>
There's no graphs on screen, so no reason to collapse the notes to save
space. Besides, it looked a bit funky expanding the notes on smaller
screens, since they always jumped to the bottom to fill the space...
Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
Previously, the blank '' would be passed along and lead to a
parameter verfication failure.
For LXC the default behavior in the backend is to use 'local', so
disallow blank and auto-select the first storage supporting'rootdir'
instead.
For QEMU the default behavior in the backend is to use the
original layout from the backup configuration file, which
makes sense to use as the default in the GUI as well.
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
this unifies the logic into a single place instead of all over this
module and the plugins.
it also fixes tons of 'uninitialized value' warnings when backing up
with --dumpdir but no --storage set, since the existing conditions for
PBS targets are missing a definedness check.
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>