Commit Graph

457 Commits

Author SHA1 Message Date
Thomas Lamprecht
f9a7d55d14 ui: dc/guests: avoid using <br> for layouting
use a flex box with centered columns instead, that needs adding a div
per row, but that's IMO actually making it more clear what a row is
anyway.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-07-05 12:58:47 +02:00
Thomas Lamprecht
6b30714119 ui: dc/Guests: make update lazy
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-07-05 12:20:13 +02:00
Thomas Lamprecht
3e32628c22 ui: dc/Guests: fix indentation
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-07-05 12:20:13 +02:00
Stefan Reiter
d4c6f35c38 ui: dc/guests: remove 'line-height' from default style
Firefox doesn't correctly break to the next line if the line-height
is set as is (with certain fonts, including the default on debian it
seems). Simply remove it, as it isn't necessary.

Suggested-by: Dominik Csapak <d.csapak@proxmox.com>
Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
2021-07-05 12:19:40 +02:00
Thomas Lamprecht
0bc0260983 ui: dc/auth: refactor openID edit window to be more static
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-07-03 16:31:43 +02:00
Thomas Lamprecht
879e27c496 ui: realms: use address-book as default fallback icon
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-07-02 21:59:42 +02:00
Thomas Lamprecht
da25c5ac41 ui: realms: add iconCls to menu entries
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-07-02 21:57:26 +02:00
Thomas Lamprecht
c2cd0c9eb3 ui: auth domains: openID: make 'username-claim' display-edit field
while we cannot allow editing it after realm creation it is still
interesting to know to which value it was set.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-07-02 15:26:58 +02:00
Thomas Lamprecht
b8dcc6d307 ui: user view: use username/realm renderer from widget-toolkit
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-07-02 15:18:44 +02:00
Thomas Lamprecht
c0e3df11d8 ui: user view: adapt to users response API changes
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-07-02 15:15:31 +02:00
Dominik Csapak
6026595802 ui: dc/UserView: disable Password button based on realm type
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-07-02 14:10:19 +02:00
Dominik Csapak
e3393f6d74 ui: dc/UserView: disable TFA button based on realm type
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-07-02 14:10:19 +02:00
Dominik Csapak
668951e22b ui: dc: add AuthEditOpenId panel
for adding and editing openid realms, does not support tfa

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-07-02 14:10:19 +02:00
Dominik Csapak
550857eb16 ui: dc/AuthEditBase: only add tfa field on auth modes that support that
for now that are all, but we will ad one where that is not possible

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-07-02 14:10:19 +02:00
Fabian Ebner
1a2e0e235e api: backup info: prefer kebab-case
And also add the 'backup-info' endpoint to the index.

Suggested-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-07-02 12:03:03 +02:00
Thomas Lamprecht
42a8a0b40c ui: user: show user-removal as dangerous
While one can re-add a user quite easily, the ACLs and the old
password may still be lost, so not really just like a simple "undo".

That's why it should show the warning triangle and have no selected
as default.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-06-23 11:34:21 +02:00
Aaron Lauterer
48129c7bed ui: dc: backup: fix job detail search
'for...in array' returns the id in the array but not the value,
'for...of array' returns the values.

Another issue that I ran into was if the property did not exist.

Checking if the property evaluates to false will catch situations where
the property does not exist or is null. All other situations where there
is a value for the name, id or type, should evaluate to true if present
as they are strings or the VMID.

Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
2021-06-22 11:50:48 +02:00
Thomas Lamprecht
42d480223b ui: user view: rework to slightly more modern & code cleanup
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-06-21 10:19:44 +02:00
Dominik Csapak
aa16ebbb97 ui: dc/ACLView: make the window wider
to accomodate the longer acl paths better

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-06-18 17:06:29 +02:00
Thomas Lamprecht
260ac8cdb3 ui: TFA: use correct user-id value when creating TOTP QR code
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-06-10 09:16:50 +02:00
Dominik Csapak
e492ab4dc8 ui: dc/RoleView: add variableRowHeight
otherwise the grid is confused about the row height (since it is
variable here) and renders the scrollbars weirdly

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-05-20 21:01:49 +02:00
Thomas Lamprecht
03153d556b ui: dc: log, options, support: eslint fixes and code cleanup/refactoring
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-05-18 15:14:51 +02:00
Thomas Lamprecht
9f84f443aa ui: dc/StorageView: eslint fixes and code cleanup/refactoring
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-05-18 15:14:51 +02:00
Thomas Lamprecht
1a5df27f23 ui: dc/UserEdit: eslint fixes and code cleanup/refactoring
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-05-18 15:14:51 +02:00
Thomas Lamprecht
d74c3805d3 ui: dc/Tasks: eslint fixes and code cleanup/refactoring
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-05-18 15:14:51 +02:00
Thomas Lamprecht
12f237de8b ui: dc/TFA Edit: eslint fixes and code cleanup/refactoring
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-05-18 15:14:51 +02:00
Thomas Lamprecht
a30dca2f9f ui: dc/Summary: eslint fixes and code cleanup/refactoring
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-05-18 15:14:51 +02:00
Thomas Lamprecht
90d5bbb64d ui: dc/FW Security Group: eslint fixes and code cleanup/refactoring
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-05-18 15:14:51 +02:00
Thomas Lamprecht
a1abaf7064 ui: dc/RoleView: eslint fixes and code cleanup/refactoring
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-05-18 15:14:51 +02:00
Thomas Lamprecht
2dcb6bb046 ui: dc/NodeView: mark only usage over 75% with a warning
As 60% is pretty low, and normally still OK and even wanted to have
(no need for having an over-dimensioned setup with lots of unused
resources).

Note, this is not a off-by-one, I want to compare real bigger > 75%

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-05-18 15:14:51 +02:00
Thomas Lamprecht
ffc947807c ui: dc/NodeView: eslint fixes and code cleanup/refactoring
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-05-18 15:14:51 +02:00
Thomas Lamprecht
8295f55e56 ui: dc: health, config, guests; eslint fixes and code cleanup/refactoring
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-05-18 15:14:51 +02:00
Thomas Lamprecht
95f59d0b89 ui: dc/corosync-link: eslint fixes and code cleanup/refactoring
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-05-18 15:14:51 +02:00
Thomas Lamprecht
4ed38e2569 ui: dc/cluster: eslint fixes and code cleanup/refactoring
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-05-18 10:05:05 +02:00
Thomas Lamprecht
12809bba4f ui: dc/Backup: eslint fixes and code cleanup/refactoring
this one would deserve much more, especially the newer backup job
detail and not-backed-up view should be split out and done in a
declarative way (view view-controller)

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-05-17 20:40:11 +02:00
Thomas Lamprecht
1848bf9eb0 ui: dc/ACMEPlugins: eslint fixes and code cleanup/refactoring
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-05-17 20:11:28 +02:00
Thomas Lamprecht
cf696df332 ui: dc/ACLView: eslint fixes and code cleanup/refactoring
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-05-17 20:11:07 +02:00
Alexandre Derumier
1d9643f67c sdn: add subnet/ipam/sdn management
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2021-04-26 15:43:47 +02:00
Dominik Csapak
2874be00f2 ui: Utils: use updateColumns from widget-toolkit
it was moved there

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-04-22 18:34:34 +02:00
Dominik Csapak
1bd7bcdbf1 ui: Utils: use render functions from widget-toolkit
they live there now, so we can delete them here and use the ones from
widget-toolkit instead

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-04-22 18:34:34 +02:00
Fabian Ebner
7c5f30bcd5 ui: cluster task log: eslint fixes
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2021-03-16 14:52:36 +01:00
Thomas Lamprecht
c69faba311 ui: metrics: influxdb: add support for new api-path-prefix field
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-03-15 14:45:05 +01:00
Dominik Csapak
ed45548332 ui: dc/TokenEdit: fix editing existing tokens
we always have to calculate the url correctly, not only on creation
otherwise we try to edit the token by doing a 'PUT' request on
/access/users
and not on
/access/users/USERID/token/TOKENID

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-02-19 16:37:51 +01:00
Dominik Csapak
641105c277 ui: dc/MetricServerView: add onlineHelp to edit windows
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-01-28 17:32:23 +01:00
Dominik Csapak
3ebcbbc523 ui: add necessary fields for influxdb http api
and en/disable them accordingly to the selected mode

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-01-28 17:32:23 +01:00
Thomas Lamprecht
fa8d397162 ui: eslint: some more trailing comma fixes
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-01-19 17:48:50 +01:00
Thomas Lamprecht
d2021707e3 ui: eslint: enforce "no-extra-boolean-cast" rule
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-01-19 17:43:40 +01:00
Thomas Lamprecht
53e3ea8488 ui: eslint: enforce "no-extra-parens" rule
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-01-19 17:42:36 +01:00
Thomas Lamprecht
ef725143c6 ui: eslint: enforce "no-unneeded-ternary" rule
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-01-19 17:41:11 +01:00
Thomas Lamprecht
8058410f40 ui: eslint: fix various spacing related issues
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-01-19 17:39:15 +01: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
Thomas Lamprecht
2a4971d8c9 ui: eslint: fix trailing spaces
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-01-19 17:29:55 +01:00
Thomas Lamprecht
e3aed879e4 ui: tfa/totp: fix setting issuer in secret URL
it's recommended to set the issuer for both, the get parameter and
the initial issuer label prefix[0].

[0]:
https://github.com/google/google-authenticator/wiki/Key-Uri-Format#label

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-01-18 16:29:51 +01:00
Dominic Jäger
b37ea2a130 ui: acme: Remove false gettexts
Translating these is not useful; e.g. API would be translated to API in German.

Signed-off-by: Dominic Jäger <d.jaeger@proxmox.com>
2021-01-12 11:39:45 +01:00
Dominik Csapak
06c8315d86 fix #3182 #3183: change backup retention mask logic
instead of relying on the contentTypeField (which does not need to
exists, e.g. for iscsi), explicitely write it into the panel/icon
mapping and check that

better would be if we query the backend about storage capabilities,
but such an api call does not exist yet, so this should be ok for now

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-12-02 18:03:23 +01:00
Dominik Csapak
8267aa6375 ui: fix usage of findRecord
findRecord does not match exactly, but only at the beginning and
case insensitive, by default. Change all calls to be case sensitive
and an exactmatch (we never want the default behaviour afaics).

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-11-26 10:52:07 +01:00
Dominic Jäger
c63115da85 ui: metrics: Link help button to correct chapter
... instead of generic PVE admin guide.

Signed-off-by: Dominic Jäger <d.jaeger@proxmox.com>
2020-11-25 12:32:42 +01:00
Thomas Lamprecht
9f4e985d99 ui: metrics: set default for port
while it may not be always correct, we can only win by setting a
reasonable default, taken from

* graphite:
  https://graphite.readthedocs.io/en/stable/feeding-carbon.html#the-plaintext-protocol
* influxdb, udp port:
  https://docs.influxdata.com/influxdb/v1.8/administration/ports/

Also, changing that is easy for the admin and can always be done
afterwards.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-21 20:55:15 +01:00
Thomas Lamprecht
1eb6d2bfdd ui: metrics: move server and port on same line
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-21 20:55:04 +01:00
Thomas Lamprecht
eb594f5ca5 ui: metrics: style cleanup: defined xtype first, name second
those are both the most important for what the field is, so they
should come first.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-21 20:53:05 +01:00
Thomas Lamprecht
06d157918f ui: metrics: advancedColumn1 may now be empty
we have now improved detection in widget toolkit, not yet packaged
though

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-21 20:53:05 +01:00
Thomas Lamprecht
7ba638362b ui: metrics: use icons for add server
we could use the official influxdata one, they provide it in their
branding guide - and the use here would seem to comply with their
rules, and would fall under fair-user, probably.

Still, not 100% clear for me and Graphite is not easy to find a good
one with clear rules, so just reuse the bar-graph Font Awesome one,
better than nothing (looks empty-wrong)

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-21 20:53:05 +01:00
Thomas Lamprecht
d57f8d9482 ui/api: metrics: move server to subpath, post to path with ID
We actually wanted to use that scheme for more new API paths, lets
see if it is really fitting starting with this.

Use the new widget-toolkit submitUrl helper to add the ID on create.

And unify the edit/create window creation, which may fit better in a
separate commit, it's quite small and was to cumbersome to untangle,
so just go against my one rules here... :(

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-21 20:53:05 +01:00
Thomas Lamprecht
71f5bf0a45 ui: metrics: add server base edit window
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-21 20:39:33 +01:00
Dominik Csapak
f257dcec26 ui: add MetricServerView to Datacenter
adds ui support for configuring the External Metric servers.
for now, influxdb and graphite edit windows do not share code,
it would be ideal to do that once we add more plugins

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-11-21 20:39:33 +01:00
Thomas Lamprecht
d74c7e80c7 ui: token create: use clipboard icon
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-15 14:51:43 +01:00
Dominic Jäger
5b849276b4 ui: Add verify SSL cert checkbox for active directory
Like for LDAP, the option is too important to be hidden in CLI.

Signed-off-by: Dominic Jäger <d.jaeger@proxmox.com>
2020-10-29 19:22:51 +01:00
Thomas Lamprecht
2dddf3ba59 followup: do not name field as me, which is reserverd for this
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-10-22 18:24:47 +02:00
Dominic Jäger
a06e43f060 ui: Fix #2827: Add verify SSL cert checkbox for ldap
Because the option is too important to be hidden in CLI.

Signed-off-by: Dominic Jäger <d.jaeger@proxmox.com>
2020-10-22 18:24:47 +02:00
Dominik Csapak
fe1dd5bbbf ui: dc/Backup: disable pveCompressionSelector for pbs storages
like in window/Backup

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-09-03 18:04:25 +02:00
Aaron Lauterer
3183a5531b ui: not backed: add emptyText to search field
Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
2020-07-13 12:27:23 +02:00
Thomas Lamprecht
393b74ff27 ui: backup detail: rename button to "Job Detail"
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-07-09 20:04:32 +02:00
Thomas Lamprecht
386c9ce560 ui: backup detail: some small nits + padding adation
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-07-09 20:04:04 +02:00
Thomas Lamprecht
e4b95752e3 ui: backup detail: move search bar in panel header to save vspace
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-07-09 20:02:55 +02:00
Aaron Lauterer
7d2fac4af5 fix #2609 gui: backup: add window for not backed guests
In case that there are guests which are not covered by any backup job, a
notification is shown and a window with a grid can be opened to view
these guests.

Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
2020-07-09 14:12:59 +02:00
Aaron Lauterer
01ad47af9e gui: dc/backup: add new backup job detail view
The new detail view for backup jobs shows the settings similar to the
edit dialog but read only. Additionally it does show a list of all
included guests with their volumes and whether these volumes will be
included in the backup.

Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
2020-07-09 14:12:59 +02:00
Aaron Lauterer
7f08d0d19f gui: dc/backup: move renderers to Utils.js
Moving the following renderers to Utils.js to be able to use them in
more than one place:
* render_backup_days_of_week
* render_backup_selection

Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
2020-07-09 14:12:59 +02:00
Thomas Lamprecht
91d86e8fde dc/Tasks: pass endtime to make duration calculation correct
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-06-16 17:00:26 +02:00
Thomas Lamprecht
3bbce3b8cd drop jslint lines
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-06-06 18:11:47 +02:00
Dominik Csapak
c46a13b023 ui: fix missing change from 'pve-' to 'pmx-' models
we forgot to change these

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-06-02 16:53:53 +02:00
Thomas Lamprecht
769d716bcf ui: dc/summary: sync height of first two panels with others
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-06-02 12:23:51 +02:00
Dominik Csapak
f23e78f4ef use RealmCombobox from widget-toolkit
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-05-22 17:18:19 +02:00
Dominik Csapak
8eb4061bff ui: use RoleSelector from widget-toolkit
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-05-22 17:18:19 +02:00
Thomas Lamprecht
17e852abce ui: refactor pool edit window
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-05-22 17:16:04 +02:00
Thomas Lamprecht
a6ac82556f ui: TokenEdit: change default focus to tokenide field
Avoids that the user selector always pops up and tokenid is normally
more likely to change as the userid gets pre-selected to the one from
the logged in user.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-05-19 21:00:59 +02:00
Thomas Lamprecht
fbfe1e39d4 fix #2747: ui: API token create: always reset base submit URL
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-05-18 18:50:38 +02:00
Dominik Csapak
9e669fa047 ui: dc/ACME: fix not refreshing api column
When using a diffstore, we have to specify all fields that are
displayed, otherwise the store does not know which fields to check for
change

for the acme plugin view, 'api' was missing

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-05-11 17:06:27 +02:00
Thomas Lamprecht
7788262afb ui: cluster join: hide all fields in assited mode until we got some info
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-05-08 13:33:39 +02:00
Tim Marx
4081db0708 ui: clusterjoin: fix cluster network field visibility
Signed-off-by: Tim Marx <t.marx@proxmox.com>
2020-05-08 13:33:37 +02:00
Thomas Lamprecht
9a9f1ac5aa ui: cluster: code cleanups
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-05-08 13:33:37 +02:00
Dominik Csapak
f433ad19d2 dc/Realms: fix adding of new ldap realm
we cannot pass 'delete' on create api call, and we have to make
sure that 'default_opts' and 'sync_attributes' are alwyas available,
since they are used in onGetValues
(they were only created during setValues, which is not called
when adding a new realm)

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-05-08 10:20:17 +02:00
Thomas Lamprecht
0f14518fe9 ui: acme view: use "Challenge Plugins" name
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-05-07 21:40:06 +02:00
Thomas Lamprecht
b0bff8c3af ui: acme plugin edit: allow to overwrite label and add a hint
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-05-07 20:55:34 +02:00
Thomas Lamprecht
228846472f ui: acme dns plugin edit: wider labels, = as separator
Some API endpoints hvae very long variable names..

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-05-07 20:52:34 +02:00
Thomas Lamprecht
4a566eda62 ui: acme dns plugin edit: add online help
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-05-07 20:52:01 +02:00
Dominik Csapak
796a8b7483 ui: dc/ACMEClusterView: show TaskProgress on account removal
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>
2020-05-07 14:32:55 +02:00
Dominik Csapak
efca2bbbc6 ui: dc/ACMEClusterView: load the correct store on reload
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>
2020-05-07 14:32:55 +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
878dffb7a2 ui: dc/ACMEClusterView: use a diff/update store combo for the grids
so that they are get automatically reloaded with the default interval (3seconds)

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
ec4bf5c4ec ui: auth base: add onlineHelp
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-05-06 20:35:45 +02:00
Dominik Csapak
47ea76b2ec ui: dc/SyncWindow: add help button
with link to the LDAP Syncing section of the documentation

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-05-06 20:24:34 +02:00
Thomas Lamprecht
1c783f74de ui: switch backup default compression selection to ZSTD
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-05-06 20:16:39 +02:00
Dominik Csapak
1011b56983 ui: fix missing htmlEncodes
username can include some special characters, so we have
to escape them

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-05-06 16:59:50 +02:00
Thomas Lamprecht
7daaa52c0e ui: acme: minor nits
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-05-05 19:43:12 +02:00
Thomas Lamprecht
b9cab976b0 ui: acme view: hide data textarea if we got schema fields
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-05-05 19:43:00 +02:00
Thomas Lamprecht
9994a6f919 ui: acme view: sort fields lexically by id
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-05-05 19:42:09 +02:00
Thomas Lamprecht
2fb0b2fe3e ui: acme plugin field generator: support emptyText
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-05-05 19:27:14 +02:00
Thomas Lamprecht
9e3e431034 ui: acme view: do north-center layout, add online help reference
fit's more the style used in PVE, where west-center layouts are
normally just used if there's some data relation between west and
center.

Make it more similar to panels like the HA overview, CephFS, ...

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-05-05 19:25:53 +02:00
Thomas Lamprecht
56e7fc7b9d ui: ACME selectors - adapt to new API path/return schema
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-05-05 19:24:44 +02:00
Dominik Csapak
f9c0feeb7e ui: add ACMEClusterView
to show the list of accounts and defined plugins
for now we ignore 'standalone' plugins here and only show 'dns' ones

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-05-05 19:23:04 +02:00
Dominik Csapak
457088917b ui: add ACMEPluginEdit window
this is a rather complex edit window, because we dynamically create form
fields according to the schema we get from the api

to do this properly we have to handle a few things:
* we have to properly set the values on edit
* we have to properly track the original values
* we have to merge and split with/from the generic 'data' field
  (so that if a plugin has some extra fields that we did not include in
  the schema the user can still enter them)

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-05-05 19:23:04 +02:00
Thomas Lamprecht
41aa53eaa0 ui: cluster edit/create: style nits, avoid extra label
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-05-05 18:23:01 +02:00
Thomas Lamprecht
4ea2cac2ae ui: corosync addLink: more flexible params and pass emptyText
Use that instead of the label, as it's using less space

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-05-05 18:21:47 +02:00
Thomas Lamprecht
61b05a5d82 ui: corosync link edit: styleistic nits
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-05-05 18:20:57 +02:00
Stefan Reiter
b1e7a7d3b7 gui/cluster: add structured peerLinks to join info
Instead of the old 'ring_addr' property (which is kept for
compatibility), we also encode the link numbers into the new peerLinks
structure. This allows us to display which IP is assigned to which link
on the cluster in the join dialog, helping a user identify which link
should receive which interface on the new node.

Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
2020-05-04 18:44:15 +02:00
Stefan Reiter
5957f47f72 gui/cluster: add CorosyncLinkEdit component to support up to 8 links
CorosyncLinkEdit is a Panel that contains between one and 8
CorosyncLinkSelectors. These can be added or removed with according
buttons.

Values submitted to the API are calculated by each
ProxmoxNetworkSelector itself. This works because ExtJS searches
recursively through all child components for ones with a value to be
submitted, i.e. the CorosyncLinkEdit and CorosyncLinkSelector components
are not part of data submission at all.

Change ClusterEdit.js to use the new component for cluster join and
create. To make space in layout, move 'password' field to the side
(where the network-selector previously was) and use 'hbox' panel for
horizontal layouting to avoid spacing issues with languages where the
fieldLabel doesn't fit on one line.

Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
2020-05-04 18:44:15 +02:00
Thomas Lamprecht
e5ede40a6a ui: realm sync: add some empty texts and specifiy what gets purged
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-04-29 16:47:26 +02:00
Dominik Csapak
4b60ee19de ui: dc/Auth: add sync button
opens a window with the parameters for the sync and two buttons:
'preview' and 'sync'

both open the taskviewer, but the 'preview' one sets the 'dry-run'
parameter so that it does not get written out to the user.cfg

loads the realm config and prefills the selection with values from
the config, and shows a hint about where to set the defaults
if none are set

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-04-29 16:36:27 +02:00
Dominik Csapak
822fb26d85 ui: dc/AuthEdit: add sync tab for ldap/ad realms
this modifies AuthEditBase so that if there is a sync inputpanel specified,
we display it in a second tab (we need to modify the bodyPadding here,
else the whole window has too much padding)

we use the same panel for both ldap/ad, since the most options behave
the same (except for user_attribute, but the default for AD is
sAMAccount which i think is good enough for now, users can still
override it in the cli)

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-04-27 11:27:33 +02:00
Thomas Lamprecht
ed00cf491f ui: auth realm: do not delete tfa if empty on create
that breaks the schema as the POST endpoint obviously doesn't knows
about a delete property.

fixes commit 58e1ccc4f5

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-04-26 13:35:36 +02:00
Thomas Lamprecht
aaf5e58452 ui: auth base: fix setting auth type in onGetValues
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-04-26 13:26:50 +02:00
Thomas Lamprecht
ed58f35906 ui: indentation fix
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-04-26 13:26:26 +02:00
Dominik Csapak
0194c802c4 ui: dc/AuthView: refactor panel
use more static declarations
move functions to class
use modern js features

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-04-26 13:12:47 +02:00
Dominik Csapak
efff7eab9a ui: dc/Auth*: refactor AuthEdit
similar to storage/Base.js so that we have the different
RealmTypes in different inputpanels

this will come in handy when we define sync options

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-04-26 13:07:54 +02:00
Dominik Csapak
58e1ccc4f5 ui: dc/AuthEdit: refactor TFASelector in its own component
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-04-26 12:47:54 +02:00
Thomas Lamprecht
9fdc5b2ef8 ui token edit: add online help and fix subject
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-04-26 12:25:14 +02:00
Thomas Lamprecht
48a66a12ee ui: api token: rewrite
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-04-26 12:18:25 +02:00
Fabian Grünbichler
e3372697a0 ui: add TokenView with fixed userid
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2020-04-25 18:25:06 +02:00
Fabian Grünbichler
f5c429bc27 ui: add Token to ACL
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2020-04-25 18:25:06 +02:00
Fabian Grünbichler
c831fbde20 ui: add Token Panel + Edit Window
modeled after UserView and related code.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2020-04-25 18:25:06 +02:00
Thomas Lamprecht
6386068d0e ui: call more update store functions in the store scope
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-04-09 16:45:22 +02:00
Stefan Reiter
943672c67f gui/cluster: fix translation for cluster join button
New version including the cluster name didn't work in some languages,
e.g. german: "Beitreten 'cluster'" vs the correct "'cluster' beitreten"

Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
2020-04-01 18:57:56 +02:00
Thomas Lamprecht
59807d1e3b ui: fix optionview caps
there's no caps.dc['Sys.Modify'] in our heuristic caps-for-frontend
and the === undefined check was wrong

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-04-01 17:14:42 +02:00
Thomas Lamprecht
3d3199a6bf ui: user edit: use new pmxExpireDate field
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-04-01 17:14:42 +02:00
Thomas Lamprecht
44f193c330 ui: cluster join: trigger defered call to full reload earlier
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-03-26 16:16:21 +01:00
Thomas Lamprecht
35ffde01f0 followup sdn: move a bit below and fix showing on initial load
if the webinterface got loaded the api call to check if SDN is
available did not yet returned, so we could show it by accident -
even if libpve-network-perl wasn't instralled.
Fix that by hiding it (once) in the failure callback of the API call.

also move menu entries below, before Firewall, this fits better to
networking.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-03-26 15:21:13 +01:00
Alexandre Derumier
12ae2ddd90 add sdn icons
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-03-26 12:17:53 +01:00
Alexandre Derumier
f1ca55fb03 sdn: enable SDN menu if /cluster/sdn api exist
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2020-03-23 14:43:29 +01:00
Alexandre Derumier
9233148bc1 add sdn gui
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2020-03-23 14:43:26 +01:00
Thomas Lamprecht
df9ad35744 ui: dc/options: add max_workers setting
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-03-06 20:42:16 +01:00
Thomas Lamprecht
27af8ed019 ui dc/options: refactor render_bwlimits
while this /could/ (not benched marked in any way) be slower it
operates on so small data sets that this isn't worth it having double
the code lines.

A map + join is still quite readable and not yet "code golfy"

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-03-06 20:19:12 +01:00
Thomas Lamprecht
136103b0c9 ui dc/options: add trailing commas
just to avoid making those lines dirty again in a future property
addition..

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-03-06 20:16:32 +01:00
Stefan Reiter
e670ffc28a fix #2611: gui: use backendUnit and pretty renderer
Slightly confusing with the units:
* Backend stores values in KiB/s
* Frontend displays MiB/s (which is a good choice when considering
  current generation network speeds as opposed to huge KiB numbers IMO)
* Renderer previously showed no units, which would usually be interpreted
  as Bytes/s

So add a pretty renderer that shows units and set backendUnit to submit
correctly converted values.

Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
2020-03-06 19:56:49 +01:00
Stefan Reiter
e65817a1da gui/cluster: show all links (up to 8) in cluster overview
Show only links found on the cluster.

'enableColumnHide' is set to false, since it causes confusing behaviour
for the user, considering we'd overwrite part of their choices every 5
seconds.

Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
2020-02-13 09:52:10 +01:00
Dominik Csapak
28e5e13756 gui: dc/Summary: improve dashboard storage calculation
if no storage is selected in 'My Settings' our calculatin was done as follows:
* for every node, count 'local',
* every other storage gets only counted *once*, even if it is a local storage

as we have the 'shared' flag available, we can count local storages
for every node where they are defined which results in a storage total
calculation:
sum of all local storages on all nodes + all shared storages once

should make a better overview of storage for a cluster with local storages

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-02-12 12:03:03 +01:00
Dominik Csapak
49b54908ff gui: dc/TFAEdit: show an error message if tfa api call fails
setting the loadmask did not really work, so show a messagebox instead
and close the window

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-02-11 18:51:28 +01:00
Dominik Csapak
bfdfea5074 gui: TFAEdit: use viemodel binding for hiding/showing qr code
the verification textfield, and the selected tab.

also remove the code that used the value by the userview panel, since
this is the only way to have a consistent behaviour on the userview
setting and the usermenu tfa setting

this fixes the issue that on the 'user menu' we accidentally showed
the qr code and verification field, even if the user already had a
totp code

now it shows 'Unchanged' like when opened via dc/UserView

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-02-11 18:51:28 +01:00
Dominik Csapak
29bfee7bb2 gui: do not allow to edit 'special' roles
since any change to them is currently silently ignored by the backend
and should result in an error anyway

partially fixes #2575

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-01-31 20:38:28 +01:00
Thomas Lamprecht
a76a8a7d3f ui dc: move cluster name info into join button
Avoids another textfield while still giving the information to the
user.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-01-30 16:08:10 +01:00