Commit Graph

91 Commits

Author SHA1 Message Date
Dominik Csapak
b0e8265c66 fix #1531: match nodename exactly for vmidselector
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>
2017-10-16 11:26:33 +02:00
Dominik Csapak
f360ab33e3 fix #1317: check wizard form also on validitychange
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)
2017-03-27 08:34:14 +02:00
Dominik Csapak
40342aa6c4 use validator for GuestIDSelector and optimize labels
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>
2017-03-09 10:55:31 +01:00
Dominik Csapak
7c1150766d show nodeselector errors only if a node is selected
otherwise we get the error:

'Node seems to be offline'

if we do not have a node selected

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-03-09 10:53:58 +01:00
Dominik Csapak
a182235ab2 fix #1299: sort pools in poolselector by default
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-03-03 12:23:31 +01:00
Dominik Csapak
49e1990583 fix gettext strings
we expect a gettext on a single line and to not contain any
variable/logic, so we remove the long text from it altogether (since we
do not want to translate that at the moment), and we rearrange the code
so that gettext only contains strings

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-01-10 12:14:12 +01:00
Dominik Csapak
eb882c6f04 show only relevant vms in bulk action window
this adds a default filter for bulk start and stop, so that only the
relevant vms are visible (stopped and started respectively)

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-01-10 08:18:35 +01:00
Dominik Csapak
42aff48802 add vmselector form field
this is a form field which is a grid for selecting vms

if nodename is given, it will filter the vms only to the given node

you can filter the grid with the column header, and only the selected
and visible items are in the value of the field

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-01-05 15:58:41 +01:00
Dominik Csapak
e4ad4e064a validate nodeselector after store is loaded
this shows the validation status immediatly if no node is selected (for
instance because no node is online or you have only one node and open
the migration window)

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-12-19 12:06:00 +01:00
Dominik Csapak
b35f19a3dc set fixed height on global search window
the buffered renderer does not work with auto height, and was disabled.
to enable it, we set a fixed height

when nothing is found, display 'none' to indicate nothing was found

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-12-19 12:03:40 +01:00
Emmanuel Kasper
ed416f2024 Convert the VMIDSelector to a generic GuestIDSelector
This allows to display a 'CT', a 'VM', or a 'CT/VM' label
to be displayed, depending on the context.

Currently when restoring a CT backup or creating a CT via the
wizard, we are asked to enter a  *VM* ID, which is confusing.
2016-12-19 07:31:27 +01:00
Dominik Csapak
c2dc78a4e7 make realmselector non-editable
since most people do not have many login realms to choose from, making
this search/editable makes no sense

but by making this non-editable, you can now click anywhere on the text
to open the options, instead of only the little arrow

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-12-09 10:20:19 +01:00
Dominik Csapak
3253e1189d fix #1176: sort user/group/realm selector
this adds a default sort for the user, group and realmselector
so that the entries are in a consistent order

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-12-09 10:20:07 +01:00
Dominik Csapak
8ebc1f3cc6 fix kvcombobox validator
since we often use the kvcombobox not statically but load its store at
runtime, we need to check the store and not the comboItems

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-11-23 12:09:37 +01:00
Dominik Csapak
ce57c4a612 check for array in disallowednodes filter
extjs throws an error if disallowednodes is not an array,
so we need to check this

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-11-22 16:38:29 +01:00
Thomas Lamprecht
97ec0d0716 NodeSelector: add disallowedNodes configuration property
This can be used to mask out some nodes from the node selector.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2016-11-19 09:51:14 +01:00
Dominik Csapak
538ebe4a84 add kvcombobox validator
this enables validation of all kvcomboboxes, including
multiselect

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-11-18 10:30:08 +01:00
Dominik Csapak
ecf9179f31 only allow integers in memoryfield
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-11-02 17:14:54 +01:00
Dominik Csapak
8a7e5598f1 add pveIntegerField and use it
this adds a subclass of Ext.form.field.Number with the settings for
Integers (allowDecimals: false and allowExponential: false and default
step size 1)

and use it where we only accept integers

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-11-02 17:14:06 +01:00
Emmanuel Kasper
88ecfbdbda Fix jslint warning: 'sortedList' is already defined
sortedList was defined twice in the function
remove the declaration at the beginning of function as declaring a var
just before using it is more similar to the rest of code
2016-10-11 07:02:57 +02:00
Emmanuel Kasper
e2d725633e Move bus priority list to OSDefaults
So a field container does not need to know if Linux likes SCSI.
2016-10-11 07:02:33 +02:00
Dietmar Maurer
f6735a886a simplify code, improve sort order 2016-10-07 08:12:52 +02:00
Emmanuel Kasper
31345b9c28 When adding a new hard disk, use the most used controller as suggested value
This is a complementary fix for #1105 (Create Linux VM Wizard: use scsi
as default bus/device) and add some logic to the list of controllers
presented in the ControllerSelector combo box

Since we can have IDE, SCSI, Virtio(blk) as a controller during installation,
based on OS detection and personal preferences, we can reasonably assume
on 80 % of cases it will be the same controller we want to use for the
next time we add a hardisk.

This allows backward compatibility for Linux guests which were proposed a
virtio-blk as first choice, and also helps newly created Linux VMs by proposing
SCSI.
2016-10-07 07:05:53 +02:00
Dominik Csapak
4cb75dd989 rename alias of some form fields, and remove brackets
to be conform with the rest of the code

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-09-13 07:46:46 +02:00
Dominik Csapak
54b590f0c5 only use exact match in pveRealmSelector
store.findRecord returns the first match, and by default
matches the beginning of the strings not the whole

without this, with multple realms with the same name, but different
tfa settings, the login window can show the tfa input box even
when the selected realm has no tfa active

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-08-17 12:35:00 +02:00
Emmanuel Kasper
39c06c6925 USe PVE.qemu.OSDefaults statics to get defaults for NIC and Storage Controller 2016-07-21 12:50:27 +02:00
Emmanuel Kasper
42902182c0 Rename Wizard Component aliases using camelCase
this is ExtJS recommended practise, follows most of our
conventions and is necessary for querying
components with Ext.ComponentQuery.query() without escaping the
dots in the component widget name.
2016-07-21 12:44:13 +02:00
Dominik Csapak
62631154f9 give comment in bridgeselector more space
change the default column widths, to give more space
to the comment column

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-07-12 14:43:54 +02:00
Dominik Csapak
5039e75e31 fix #757: show the bridge comment in the selector
this shows the comment of the bridge in the selector

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-06-30 14:06:59 +02:00
Dominik Csapak
18532680ff add globalsearchfield
this adds a field, the globalsearchfield

its use is to search across our resources (vm,nodes,storage,pools)
quickly and from everywhere

it filters by taking each word you write, and gives
points to resources based on how often the word matches or
if it is an exact match for a field (details in source), and
sorts after this relevance number

with enter or click on an entry, you go directly to the selected
resource

also supports key up/down selecting of the entries and
toggling the search globally with ctrl+space or ctrl+shift+f

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-06-21 10:23:38 +02:00
Dominik Csapak
8cf53ea659 make viewselector stateful
to save the view across browser refresh/sessions

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-06-16 16:33:59 +02:00
Dominik Csapak
91535f2ba7 htmlEncode some comment fields
this adds Ext.String.htmlEncode as renderer
for some comment/description fields

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-06-09 17:40:03 +02:00
Emmanuel Kasper
49f5d1abd1 Rename the SCSI VirtIO controller to better differenciate from VirtIO blk
Also fix casing to match VirtIO as displayed in Network Panel
2016-06-08 12:43:09 +02:00
Emmanuel Kasper
5ca366f2f4 Case fix for VMware
Closes: #778
2016-06-08 12:42:08 +02:00
Dominik Csapak
6f39b53eb9 allow tagging of vlan 1 in gui
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-05-18 11:32:15 +02:00
Dominik Csapak
4dcca8a403 change hotplugselector to checkboxes
the hotplugselector was not good to use,
and the options were confusing (empty was the default value, etc)

now we have checkboxes for each value, and if none are selected,
hotplug is disabled

also fixes the renderer when hotplug is set to '1' which
just means the default of 'disk,network,usb'

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-05-17 06:15:53 +02:00
Dominik Csapak
2964ce51a8 rename enableAfterLoad to enableLoadMask
also add an explaining comment

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-05-03 11:19:35 +02:00
Dominik Csapak
abc55fa61d fix combogrid multiselect bug
this fixes a nasty combogrid/multiselect/storeload bug
in which the value of a combogrid gets set to a string instead
of an array, under certain circumstances

we overwrite the getRawValue method of our ComboGrid,
and on multiselect ComboGrids, we just get the value out of
me.rawValue, else we call the method of the parent class

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-05-03 06:01:09 +02:00
Dominik Csapak
68f8c7659f jslint: fix access to uninitialized variable
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-04-29 17:09:17 +02:00
Dominik Csapak
f25d7c4a74 jslint: change (x)?x:y to x || y
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-04-29 17:08:51 +02:00
Dominik Csapak
a764c5f72e jslint: fix missing or extra semicolon
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-04-29 17:07:42 +02:00
Dominik Csapak
22f2f9d6c0 jslint: remove trailing commas
before ECMA5 trailing commas in arrays and objects
are forbidden

in jslint this is an error and cannot be deactivated

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-04-29 17:06:34 +02:00
Dominik Csapak
ec0bd652db jslint: fix type confusion and property access
fix various type confusion, for example:
items: {} and items: []
style: string and style: {}

also fix object['property'] access with
object.property

also fix /=/ with either '=' or /\=/ where appropriate
(/=/ can be confused with /= according to jslint)

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-04-29 17:06:23 +02:00
Dominik Csapak
c02dd8ff74 fix securitygroupselector
move the display and value field into class definition,
to make it work again

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-04-26 12:02:15 +02:00
Dominik Csapak
fc5a30feae do not disable a combogrid when it loads
instead of disabling a combogrid when its store loads,
we make the gridpanel bigger, to show its loading mask

since we do not disable/enable anymore, we have no reason
to suspend/resume the validitychange event anymore

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-04-22 10:32:10 +02:00
Dominik Csapak
1a7d0bd87a add enableKeyEvents to combogrid
to reenable the 'del' and 'backspace' keys

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-04-22 10:27:30 +02:00
Dominik Csapak
728f1b97e6 fix #143: add disk/mem percent sort
previously, we had a disk/memory usage column in the resource grid,
whose raw data were the bytes used, but we added a renderer
to display it as percentage

with this, the columns sorted by bytes and not by percentage,
which made the column rather confusing

with this patch, we add a real percentage column (where the
data is a float from 0 to 1) so it sorts correctly

also make the old columns show the used size in B/KiB/etc.
by default we still only show the percentage column

since the disk usage part was always zero with qemu guests,
leave it empty there

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-04-20 09:36:23 +02:00
Emmanuel Kasper
58e1cdc0a6 Recheck field validation after manually enabling the input field of a ComboGrid
Calling setDisabled(true) on a component makes it valid, but calling setDisabled(false) afterwards did not retrigger a validation check

This fixes a serious bug which was happening in the following
conditions, for instance in the template tab of LXC Wizard:
1) user selects a storage
2) this triggers a reload of a related combogrid
3) this combogrid is marked valid, although its value is empty and it had allowedBlank: false
2016-04-12 17:10:50 +02:00
Dominik Csapak
c2f6b28ff2 change minValue of VLAN tag to 2
since linux bridges have untagged traffic on vlan1,
we cannot set this value

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-04-08 16:58:48 +02:00
Dominik Csapak
546e0c5c22 change order of weekdays
to be consistent with the grid

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-04-07 16:57:35 +02:00