Commit Graph

34 Commits

Author SHA1 Message Date
Dominik Csapak
0ce5c12df7 ui: import: show size for dir-based storages
since there we already have the size information

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2024-11-18 18:56:30 +01:00
Dominik Csapak
e6053ff4a4 ui: guest import: change icon/text for non-esxi import storage
since 'virtual guests' only make sense for a hypervisor, not e.g. a
directory for OVAs

also change the icon from 'desktop' to 'cloud-download' in the
non-esxi case

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2024-11-18 18:56:30 +01:00
Dominik Csapak
e2ac6fa400 ui: disable 'import' button for non importable formats
importable formats are currently ova/ovf/vmx

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2024-11-18 18:56:30 +01:00
Dominik Csapak
fa4d39661d ui: enable upload/download/remove buttons for 'import' type storages
but only for non esxi ones, since that does not allow
uploading/downloading there

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2024-11-18 18:56:30 +01:00
Thomas Lamprecht
549bffb7bb guest import: fine tune icons
We switched the storage browser navigation entry to 'Virtual Guests'
recently, but still used the icon for import.

For now switch to use to the one for VMs for this entry, matching the
label, and use the import icon for the "Import" button instead.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2024-03-27 12:44:41 +01:00
Thomas Lamprecht
202dc899e7 ui: guest import: fine-tune text on labels and button
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2024-03-14 15:17:43 +01:00
Thomas Lamprecht
7538d01102 ui: storage browser: add item double-click handler for guest import
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2024-03-14 15:17:43 +01:00
Dominik Csapak
bb3fa9def4 ui: add wizard to allow importing from ESXi attached as storage
Add a new 'import' panel for storages supporting the 'import'
content type that shows a list of configs to import.

When opening the wizard, we query the meta info from the new
import-metadata API endpoint, and pre-fill the fields and shows
potential warnings or things to watch out for, returned by the API.

For disks and networks we allow to select which one to use and which
storage/bridge to import to.

Additionally, users can opt-in to a live-import, where the VM is
immediately started and storage requests are fetched from the target
on demand while importing the rest in the background.

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
 [ TL: some fixes, clean-ups and commit message rewording ]
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2024-03-14 15:17:43 +01:00
Dominik Csapak
ddbddff766 ui: allow adding the esxi storage type
also change the icon to 'fa-cloud-download', hide the 'unknown' status
in the tree, and hide the Summary info from the storage browser

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2024-03-14 15:17:43 +01:00
Thomas Lamprecht
846defd88c ui: storage: enable download-url button with Sys.AccessNetwork capability
Now that the new Sys.AccessNetwork privilege got added to
access-control and the storage download and manager query API
endpoints, the UI should reflect that change and allow opening the
dialogue to download an image from URL also for the users that are
allowed to do so through the new privilege.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Tested-by: Hannes Duerr <h.duerr@proxmox.com>
Reviewed-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2024-02-28 15:53:28 +01:00
Thomas Lamprecht
7ef80fa8a4 ui: storage browser: code cleanup/modernization
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-01-10 13:51:53 +01:00
Fabian Ebner
c0eadd5543 ui: storage content: avoid redundant options hasNotesColumn and hideColumns
Replace both by a showColumns option instead. As the current use of
hasNotesColumn already indicates, when new content-specific columns
are added, it is more natural for each derived class to specify the
columns it wants, rather than those it doesn't.

For hideColumns, there was no user. For hasNotesColumn, the only user
was the backup view.

Set the column information in the storage.BackupView class itself
rather than the instance (like hasNotesColumn was).

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2021-11-09 11:33:16 +01:00
Lorenz Stechauner
af3c0a9287 fix #1710: ui: storage: add download from url button
uses the common function PVE::Tools::download_file_from_url to
download a iso image or container template.

note: Only users with permissions `Sys.Audit` and `Sys.Modify` on
`/` are permitted to use the api endpoints due to security reasons.
(it is possible to download files from internal networks which would
be not visible/accessible from outside)

Signed-off-by: Lorenz Stechauner <l.stechauner@proxmox.com>
Reviewed-By: Dominik Csapak <d.csapak@proxmox.com>
2021-07-03 00:36:26 +02:00
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
Dominik Csapak
57f6c79b08 ui: storage: find the correct storage record
by default, findRecord only anchors at the beginning, e.g.
findRecord('id', 'foo');
could find either an entry with id 'foo', 'foobar', 'foobaz', etc.

extend the call to set 'exactMatch' to true, else we sometimes
used the content types of storage e.g., 'local-lvm' for showing
the panels for 'local'

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-11-26 10:52:07 +01:00
Thomas Lamprecht
1be81ae0d6 ui: storage/browser: pass storage plugin type to content panels
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-24 23:33:57 +01:00
Dominik Csapak
ef402242d8 ui: change comment column to notes
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-11-24 13:47:07 +01:00
Fabian Ebner
d2ac54517c ui: storage: get content types from resources
to avoid waiting for a status API call.

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2020-11-22 18:39:16 +01:00
Thomas Lamprecht
2dcc87c798 ui: storage: re-order navigation tree entries, avoid state saving
So we have first backups, then disk images (VM, CT), then templates
(VM, CT) and finally snippets.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-15 19:38:38 +01:00
Fabian Ebner
f5e17f156a create ImageView and use it for VM and CT images
The enableFn's that were responsible for switching
between the image remove button and the standard remove button
are not needed anymore.

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2020-11-15 18:41:11 +01:00
Fabian Ebner
1665b8402c create and use BackupView
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2020-11-15 18:41:11 +01:00
Fabian Ebner
13d7dfccee create and use TemplateView
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2020-11-15 18:41:11 +01:00
Fabian Ebner
8798c35bcd add upload button conditionally
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2020-11-15 18:41:11 +01:00
Fabian Ebner
e8b422bc77 use separate view for each content type
Organized as separate "if"s to allow changing properties easily later.

The StorageContentView now serves as a parent class, so the stateId
cannot be fixed there. Instead make each individual view stateful with a
unique stateId.

statusStore is not needed anymore, now there is a single fixed content type,
and the template and upload button are disabled depending on that type.

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2020-11-15 18:41:11 +01:00
Fabian Ebner
1a763337a2 storage panel/browser: use insertNodes function
in preparation for dynamically loading nodes for content-type-specific views.

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2020-11-15 18:41:11 +01:00
Dominik Csapak
0110314c61 gui: show Storage Content with Datastore.AllocateSpace/Audit
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-02-06 11:35:13 +01:00
Dominik Csapak
ba93a9c665 move onlineHelp into classes from definition
this patch moves the onlineHelp ids into the javascript classes, instead
of defining them where we use the classes

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-11-02 17:13:12 +01:00
Dietmar Maurer
c8802a60b7 use auto-generated block IDs to reference online docu. 2016-10-13 11:26:06 +02:00
Dominik Csapak
565a68be99 add onlineHelp to pool and storage
and their options

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-09-13 16:42:17 +02:00
Dominik Csapak
7ccbcc6c89 reorganize storage and pools
add icons to panels

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-08-24 12:31:22 +02:00
Dominik Csapak
177de3de1c ext6migrate: fix trailing whitespaces
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-03-10 17:24:53 +01:00
Dominik Csapak
232c96e0f1 ext6migrate: add Tabs to Storages
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-03-10 17:24:42 +01:00
Emmanuel Kasper
b70496d69d Comment out missing/broken JS classes so we can select nodes in the left ressource tree with ExtJS6 2016-01-26 10:53:44 +01:00
Dietmar Maurer
4507171400 copy storage/Browser.js from manager to manager5 2016-01-22 11:24:31 +01:00