since pve 4.4 goes out of support in june, add a notice at the top with
a link to the faq, where the EOL dates are
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
also make the mechanism for the flag checkboxes generic
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Tested-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
(cherry picked from commit ba920c35763ca8d8f913592d09c286e076bf6edf)
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
else we would get vms for wrong hosts if the nodename is a pre/postfix
of another nodename (e.g. 'abc' and 'abc123')
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
columns with fixed widths do not resize correctly in chrome when
resizing or having a different dpi scaling
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
This is a Ceph domain term and should not be translated like OSD, ...
Galician had "Virtual Groups" for Pools, which does not apply for
Ceph Context.
Also most languages were using 'Pools' anyway.
with the commit
40342aa6c4
we introduced a validator on the guestidselector, but did not
notice that the wizard checks the validity on the field change event,
but the selector gets valid/invalid in an api callback(so a little later)
with this patch, we now validate the field correctly with validate()
and also listen on the validitychange event to catch it
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
(cherry picked from commit c5dc0be54ca75a11af86e7bbf1590407157c11b1)
by default, extjs submits the language dependent decimal separator,
e.g. ',' for german and '.' for english
but we always want '.'
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
(cherry picked from commit 5c660b6d1302a5fbb3dcf477cf8b5adc9f798530)
extjs cannot "convert" and id from other fields, so the ids in the
diffstore and the realstore are different and we re-add every element on
every update
to mitigate this, we generate the id (which is "uid:hostname") in the
backend, and simply use it in the frontend
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
instead of using markInvalid, use a validator, which also marks the
field dirty and marks the form correctly invalid.
also optimize the label/error message assignments
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
because extjs 6.2 handles destroying of components differently (namely
asynchronous), we have to check earlier if the view is destroyed, else
we get a 'cannot access ~ of undefined' error
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
in extjs 6.2 form fields in widgetcolumns get parsed in a form
which is not what we want here, because we have a hidden field, which
gets generated on a change
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
By default when no target storage is selected in the clone panel, the clone
will use the same storage*s* as the source.
This was not obvious to guess that from the panel.
Up to now the Migrate function had a first class button in the toolbar,
but the Clone function didn't.
With this button the toolbar still fit correctly in a smaller
1280 pixel wide display.
This allows to add the components in each column in the order they
appear in the Clone Window.
References from child components are kept in an object in the parent
component so it should be the same performance-wise (contrary to to Ext.ComponentQuery
which is doing DOM parsing)
The pool membership relates here to the VM membership, not
the storage membership, so it makes sense to move it closer
to the VM ID / VM name form fields.
The snapshot selector was known to confuse first time pve users.
Some wondered that they had no snapshot called 'current' in their
snapshot trees, and other thought that snapshots would be included
in the copied image.
So before displaying the Clone Window, do an API call to verify
if the source VM has snapshots.
Until now we disabled the submit button, based on
the feature API call where we tested if the selected VM, and its snapshot
can be used as the source of a clone.
This had the following problems:
* the feature test for copy clone / linked clone always returned true,
since the passed paramaters were already filtered before user input
(ie we only allowed a linked clone to be selected if the source VM is
a template, or a snasphot to be selected if existed on source VM)
* the guest ID input field was not validated
With the current patch, the validation is now made on each of the form
fields. verifyFeature() is still used to populate a list of valid nodes
passed to the Node Selector.
and move the grouping feature in the class definition while changing
the text to a generic one
this allows us to group by all columns and still have meaningful
grouping headers
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
we did not check the healthservices array for the monitor widget,
this patch does that, and takes the worst health state
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>