]> git.proxmox.com Git - proxmox-widget-toolkit.git/log
proxmox-widget-toolkit.git
2 years agofix #3542: node task logs: query correct node for tasks in clusters
Dominik Csapak [Fri, 23 Jul 2021 06:59:35 +0000 (08:59 +0200)]
fix #3542: node task logs: query correct node for tasks in clusters

While refactoring, we forgot to replace the 'localhost' URL (which is
valid for PMG/PBS) with the actual nodename we have in Proxmox VE.

Do this by setting the correct URL in the viewModel right at the
start of the initComponent

We now also have the possibility to overwrite the url if we want

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2 years agobump version to 3.3-5
Thomas Lamprecht [Mon, 19 Jul 2021 15:52:16 +0000 (17:52 +0200)]
bump version to 3.3-5

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agonode: repos: add online help
Fabian Ebner [Wed, 14 Jul 2021 12:55:47 +0000 (14:55 +0200)]
node: repos: add online help

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
Reviewed-by: Stoiko Ivanov <s.ivanov@proxmox.com>
Tested-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2 years agoapi-viewer: ensure path starts with slash
Thomas Lamprecht [Mon, 19 Jul 2021 15:38:22 +0000 (17:38 +0200)]
api-viewer: ensure path starts with slash

should always be the case, but this is now an assumption, so better
to ensure it.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoapi-viewer: drop extra slash in api path
Dominik Csapak [Thu, 15 Jul 2021 11:10:34 +0000 (13:10 +0200)]
api-viewer: drop extra slash in api path

'endpoint' already begins with a slash, so drop it after /api2/json

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2 years agoapt: match "Debian Backports" origin
Fabian Grünbichler [Thu, 15 Jul 2021 08:08:48 +0000 (10:08 +0200)]
apt: match "Debian Backports" origin

some users might have that enabled, and we know it is from Debian and
not '?'

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2 years agoadd package version window
Thomas Lamprecht [Mon, 19 Jul 2021 13:54:14 +0000 (15:54 +0200)]
add package version window

we want that component in all projects, PVE and PBS have the code
duplicated for now, as PMG is about to receive this too I rather want
to use the chance add add it here for actual reuse.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agobump version to 3.3-4
Thomas Lamprecht [Tue, 13 Jul 2021 16:44:16 +0000 (18:44 +0200)]
bump version to 3.3-4

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoservice view: disable all buttons for masked/not-found/unknown services
Thomas Lamprecht [Tue, 13 Jul 2021 16:39:39 +0000 (18:39 +0200)]
service view: disable all buttons for masked/not-found/unknown services

at least if we have a unit state (atm only PVE and PMG report that)

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoservice view: fix stale stop/restart button enabled behavior
Oguz Bektas [Tue, 13 Jul 2021 11:03:15 +0000 (13:03 +0200)]
service view: fix stale stop/restart button enabled behavior

fix an issue where the stop or restart button stays enabled for
elements in 'startOnlyServices' after switching selection from a
service that was not restricted to start-only

note: front-end change only as the backend already refused to stop a
start-only service.

Signed-off-by: Oguz Bektas <o.bektas@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoservice view: avoid showing not installed services as error
Thomas Lamprecht [Tue, 13 Jul 2021 16:29:21 +0000 (18:29 +0200)]
service view: avoid showing not installed services as error

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoservice view: code cleanup
Thomas Lamprecht [Tue, 13 Jul 2021 16:15:55 +0000 (18:15 +0200)]
service view: code cleanup

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoacme: allow wildcards as domain
Stoiko Ivanov [Thu, 15 Apr 2021 19:46:21 +0000 (21:46 +0200)]
acme: allow wildcards as domain

allow wildcard dns-names as defined in [0,1] (only the prefix '*.' in
front of a valid dns-name) as domain.

[0] https://tools.ietf.org/html/rfc8555#section-7.1.3
[1] https://community.letsencrypt.org/t/acme-v2-production-environment-wildcards/55578

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2 years agobump version to 3.3-3
Thomas Lamprecht [Mon, 12 Jul 2021 07:52:32 +0000 (09:52 +0200)]
bump version to 3.3-3

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agopanel/AuthView: handle different baseUrls for configuring realms
Dominik Csapak [Mon, 12 Jul 2021 07:48:03 +0000 (09:48 +0200)]
panel/AuthView: handle different baseUrls for configuring realms

we need that for pbs.

also give the option to use the type in the path, like in AuthEditBase

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2 years agowindow/AuthEditBase: handle differenc config api urls
Dominik Csapak [Mon, 12 Jul 2021 07:48:02 +0000 (09:48 +0200)]
window/AuthEditBase: handle differenc config api urls

necessary for pbs. also give an option to use the type as url path
e.g. /config/access/<TYPE>/<ID>

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2 years agobump version to 3.3-2
Thomas Lamprecht [Fri, 9 Jul 2021 15:30:47 +0000 (17:30 +0200)]
bump version to 3.3-2

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agofixup schema
Thomas Lamprecht [Fri, 9 Jul 2021 15:30:26 +0000 (17:30 +0200)]
fixup schema

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agobump version to 3.3-1
Thomas Lamprecht [Fri, 9 Jul 2021 15:01:57 +0000 (17:01 +0200)]
bump version to 3.3-1

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoutils: add helper to format node's repository status
Fabian Ebner [Fri, 9 Jul 2021 12:44:14 +0000 (14:44 +0200)]
utils: add helper to format node's repository status

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2 years agoauth view: actually use new schema module ...
Thomas Lamprecht [Fri, 9 Jul 2021 14:40:49 +0000 (16:40 +0200)]
auth view: actually use new schema module ...

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agofixup new schema
Thomas Lamprecht [Fri, 9 Jul 2021 14:21:27 +0000 (16:21 +0200)]
fixup new schema

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoadd schema and move authDomains there
Thomas Lamprecht [Fri, 9 Jul 2021 14:11:19 +0000 (16:11 +0200)]
add schema and move authDomains there

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoadd generic OpenIDInputPanel
Dominik Csapak [Fri, 9 Jul 2021 11:42:24 +0000 (13:42 +0200)]
add generic OpenIDInputPanel

mostly copied from pve, but includes a realm displayeditfield
as well as the comment field

in contrast to the inputpanel in PVE, this is not extended
from a base input panel (where in pve the comment/realm/default/etc.
fields come from)

we do this, since not all products can define a default or tfa

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2 years agoadd panel/AuthView from PVE
Dominik Csapak [Fri, 9 Jul 2021 11:42:23 +0000 (13:42 +0200)]
add panel/AuthView from PVE

added the following (necessary) changes:
* use Proxmox.Utils.authSchema
* omit the sync button/handler, but add a possibilty to add extra buttons
* check for an 'edit' property in the authSchema for enabling editing
* removed the onlineHelp property
* removed 'TFA' column (can be added by the caller)

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2 years agoUtils: add authSchema from PVE and make it overrideable
Dominik Csapak [Fri, 9 Jul 2021 11:42:22 +0000 (13:42 +0200)]
Utils: add authSchema from PVE and make it overrideable

like we do for the task_descriptions.
This way we can have a basic config that is true for all products
and override where necessary

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2 years agoadd window/AuthEditBase from PVE
Dominik Csapak [Fri, 9 Jul 2021 11:42:21 +0000 (13:42 +0200)]
add window/AuthEditBase from PVE

basically a straight copy, with the exception that it references
Proxmox.Utils.authSchema instead of PVE.Utils.authSchema

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2 years agonode: repos: only show suites warning at the top if enabled repository is affected
Fabian Ebner [Fri, 9 Jul 2021 08:08:22 +0000 (10:08 +0200)]
node: repos: only show suites warning at the top if enabled repository is affected

The warning still shows up for the disabled repository itself, but
having a disabled repository with a bad suite is not problematic for
the configuration status as a whole.

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2 years agobump version to 3.2-5
Thomas Lamprecht [Thu, 8 Jul 2021 12:32:40 +0000 (14:32 +0200)]
bump version to 3.2-5

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agowindow/SafeDestroy: add taskDone and apiCallDone callbacks
Dominik Csapak [Fri, 4 Jun 2021 09:44:05 +0000 (11:44 +0200)]
window/SafeDestroy: add taskDone and apiCallDone callbacks

like in edit window, so we can reacto to a successful task/api call

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2 years agonode: tasks: use helper to format status again
Fabian Ebner [Thu, 8 Jul 2021 09:14:54 +0000 (11:14 +0200)]
node: tasks: use helper to format status again

which avoids the all-caps "WARNINGS:" and uses the localized version.
The call was thrown out by the big overhaul in
9e059d560c872f14aef0e586010a6b6a91ce2729.

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2 years agonetwork: use std remove button for confirm
Thomas Lamprecht [Tue, 6 Jul 2021 18:55:52 +0000 (20:55 +0200)]
network: use std remove button for confirm

alows to make the code simpler too, but we need to instantiate the
selection model explicitly, as we use a bit of a weird layout here to
be able to show the pending changes at the bottom, if any, so the
main gridpanel is not the parent of the toolbar buttons, so the
std-remove button does not automatically finds the selection model
when searching in the parent

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agocode cleanups, inline more, use arrow-fns
Thomas Lamprecht [Tue, 6 Jul 2021 18:54:59 +0000 (20:54 +0200)]
code cleanups, inline more, use arrow-fns

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agod/control: bump eslint requirement
Thomas Lamprecht [Tue, 6 Jul 2021 12:14:09 +0000 (14:14 +0200)]
d/control: bump eslint requirement

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agobump version to 3.2-4
Thomas Lamprecht [Mon, 5 Jul 2021 14:50:58 +0000 (16:50 +0200)]
bump version to 3.2-4

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agonode/Tasks: add 'clear filter' button
Dominik Csapak [Mon, 5 Jul 2021 14:34:02 +0000 (16:34 +0200)]
node/Tasks: add 'clear filter' button

that does two things,

show the user that some filters are active (even if filters are collapsed),
and let the user to reset the filters all at once

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2 years agonode/Task: show errors on store load
Dominik Csapak [Mon, 5 Jul 2021 14:34:01 +0000 (16:34 +0200)]
node/Task: show errors on store load

since we use a buffered store on a grid, we cannot use our
normal monStoreErrors from Utils (The store on the grid is a memorystore
without our 'proxmox' proxy, and the store in the viewmodel is not
initialized yet in the init)

simply set the mask in the already existing 'updateLayout' function
which is exactly the right place for the buffered store load

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2 years agonode/Tasks: deselect entries when filter changes
Dominik Csapak [Mon, 5 Jul 2021 14:34:00 +0000 (16:34 +0200)]
node/Tasks: deselect entries when filter changes

since we use a remotefilter on a bufferedstore, the only event where
we can check if the selected element is still there is the 'refresh'
event. Simply deselect if the seleceted element is not in the store

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2 years agonode/Task: remove leftover 'datastore' reference
Dominik Csapak [Mon, 5 Jul 2021 14:33:59 +0000 (16:33 +0200)]
node/Task: remove leftover 'datastore' reference

this does nothing here, since the 'datastore' would be an
'extraFilter' defined in pbs itself

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2 years agonode: repos: always skip "you get updates" on parsing error
Thomas Lamprecht [Mon, 5 Jul 2021 14:39:21 +0000 (16:39 +0200)]
node: repos: always skip "you get updates" on parsing error

As normally that means that the host does not gets updates, as most
apt use will fail too.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agonode: repos: improve repo-parsing error message
Thomas Lamprecht [Mon, 5 Jul 2021 14:38:46 +0000 (16:38 +0200)]
node: repos: improve repo-parsing error message

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agonode: repos: factor out addCritical into closure
Thomas Lamprecht [Mon, 5 Jul 2021 14:38:14 +0000 (16:38 +0200)]
node: repos: factor out addCritical into closure

now that there's more use for it

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agonode/APTRepositories: make 'no pve repositories' an error
Dominik Csapak [Mon, 5 Jul 2021 14:06:58 +0000 (16:06 +0200)]
node/APTRepositories: make 'no pve repositories' an error

since we also show it as error in the node summary

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2 years agobump version to 3.2-3
Thomas Lamprecht [Mon, 5 Jul 2021 08:02:32 +0000 (10:02 +0200)]
bump version to 3.2-3

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoutils: fix typo in variable name
Thomas Lamprecht [Mon, 5 Jul 2021 08:11:41 +0000 (10:11 +0200)]
utils: fix typo in variable name

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoutils: updateColumnWidth: allow overriding tresholdWidth and make that more general
Thomas Lamprecht [Mon, 5 Jul 2021 07:46:58 +0000 (09:46 +0200)]
utils: updateColumnWidth: allow overriding tresholdWidth and make that more general

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoutils: column width handler: drop duplicate
Thomas Lamprecht [Mon, 5 Jul 2021 07:34:32 +0000 (09:34 +0200)]
utils: column width handler: drop duplicate

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoinfo widget: early return from update if text & value stayed the same
Thomas Lamprecht [Sun, 4 Jul 2021 19:59:59 +0000 (21:59 +0200)]
info widget: early return from update if text & value stayed the same

No need then and if we'd call into update we'd still generate new
elements which is annoying for debugging and extra DOM work we can
avoid.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agomarkdown: extend blocked tags in sanitizer
Thomas Lamprecht [Sun, 4 Jul 2021 18:32:37 +0000 (20:32 +0200)]
markdown: extend blocked tags in sanitizer

not all of those are really problematic, but it's always easier to
start out stricter than required and see if any user even would use
those.

It seems that we should probably switch to a white-list approach...

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agomarkdown: make sanitizer more strict
Thomas Lamprecht [Sun, 4 Jul 2021 18:06:26 +0000 (20:06 +0200)]
markdown: make sanitizer more strict

The href, and in some browser also the src attrs on img, or a tags
can be made to execute JS rather easily, catch thoseand just remove
the attr if, after creating an URL object from it, it does not looks
like it's a http(s) request.

Further, filter out the style tag completely, as that can be misused
too, even if only to break cosmetics.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agomarkdown: encode bad nodes HTML instead of pruning it
Thomas Lamprecht [Sun, 4 Jul 2021 17:22:38 +0000 (19:22 +0200)]
markdown: encode bad nodes HTML instead of pruning it

As pruning means content an user wrote into the box, even if with
malicious intend, gets hidden and that can be quite confusing..

So rather get the outerHTML, transform it with ExtJS's htmlEncode and
set it again.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agonode: repos: handle that components can be undefined
Thomas Lamprecht [Sun, 4 Jul 2021 17:09:42 +0000 (19:09 +0200)]
node: repos: handle that components can be undefined

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agobump version to 3.2-2
Thomas Lamprecht [Sat, 3 Jul 2021 14:34:47 +0000 (16:34 +0200)]
bump version to 3.2-2

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agonode: repo: use more stati-schema like code style to configure store
Thomas Lamprecht [Sat, 3 Jul 2021 14:34:38 +0000 (16:34 +0200)]
node: repo: use more stati-schema like code style to configure store

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agonode: repo: use more stati-schema like code style to set grouping feature
Thomas Lamprecht [Sat, 3 Jul 2021 14:21:17 +0000 (16:21 +0200)]
node: repo: use more stati-schema like code style to set grouping feature

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agonode: repo: avoid using IDs on elements, as that breaks easily on clusters
Thomas Lamprecht [Sat, 3 Jul 2021 14:06:14 +0000 (16:06 +0200)]
node: repo: avoid using IDs on elements, as that breaks easily on clusters

Anything where more instances can exist, even if only for a very
short time, must NOT use `id` as that needs to be unique in all
current instances of components/elements of the whole gui.

Here it broke most of the gui when switching between node, as the new
nodes repo gui was instantiated before the old ones was completely
destroyed, so there where (at least) two elements with the same id ->
💥 boom.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agobump version to 3.2-1
Thomas Lamprecht [Fri, 2 Jul 2021 22:12:38 +0000 (00:12 +0200)]
bump version to 3.2-1

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agonode: repo: health: drop br line-breaks, replaced by flex display
Thomas Lamprecht [Fri, 2 Jul 2021 22:09:07 +0000 (00:09 +0200)]
node: repo: health: drop br line-breaks, replaced by flex display

Firefox ignores them anyway but chrome adds them additionally, making
it look rather weird..

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoui: repo status: adapt some warning/error gettexts
Thomas Lamprecht [Fri, 2 Jul 2021 21:59:56 +0000 (23:59 +0200)]
ui: repo status: adapt some warning/error gettexts

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoui: repo status: do not duplicate warning to health icon
Thomas Lamprecht [Fri, 2 Jul 2021 21:58:24 +0000 (23:58 +0200)]
ui: repo status: do not duplicate warning to health icon

It feels quite weird to have the last warning text duplicated, the
left health icon should be a very concise summary only.

allow one to force it by setting important, but that's not yet used
anywhere.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agofixup! ui: repo status: code cleanup/refactoring
Thomas Lamprecht [Fri, 2 Jul 2021 21:58:02 +0000 (23:58 +0200)]
fixup! ui: repo status: code cleanup/refactoring

2 years agoui: repo status: adapt flex-ratio and center health vertically
Thomas Lamprecht [Fri, 2 Jul 2021 21:57:20 +0000 (23:57 +0200)]
ui: repo status: adapt flex-ratio and center health vertically

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agocss: add centered-flex-column class
Thomas Lamprecht [Fri, 2 Jul 2021 21:56:19 +0000 (23:56 +0200)]
css: add centered-flex-column class

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoui: repo status: code cleanup/refactoring
Thomas Lamprecht [Fri, 2 Jul 2021 21:12:53 +0000 (23:12 +0200)]
ui: repo status: code cleanup/refactoring

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoadd OpenID icon
Thomas Lamprecht [Fri, 2 Jul 2021 19:58:09 +0000 (21:58 +0200)]
add OpenID icon

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agonode/APTRepositories: improve error/warning display
Dominik Csapak [Fri, 2 Jul 2021 14:27:15 +0000 (16:27 +0200)]
node/APTRepositories: improve error/warning display

always show grid besides status, with the accumulated
stati/warnings/errors

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2 years agonode/APTRepositories: rework top status and error grid
Dominik Csapak [Fri, 2 Jul 2021 10:48:59 +0000 (12:48 +0200)]
node/APTRepositories: rework top status and error grid

instead of having a title bar and a seperate error grid,
add an always visible panel that displays the status (ok, warning, errors)
which also contains the error grid (if necessary, ala ceph summary)

this makes the panel more consistent to use and it is immediatly
visible if something is wrong

this also adds a test for the 'test' repositories, as well as a test
for not correctly configured suites

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2 years agoUtils: add get_health_icon from PVE
Dominik Csapak [Fri, 2 Jul 2021 10:48:58 +0000 (12:48 +0200)]
Utils: add get_health_icon from PVE

we'll need it here too

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2 years agoutils: followup: fix base class
Thomas Lamprecht [Fri, 2 Jul 2021 13:17:47 +0000 (15:17 +0200)]
utils: followup: fix base class

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoui: Utils: refactor userid parsing to Utils
Thomas Lamprecht [Fri, 2 Jul 2021 13:06:25 +0000 (15:06 +0200)]
ui: Utils: refactor userid parsing to Utils

Originally-by: Dominik Csapak <d.csapak@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoutils: add getOpenIDRedirectionAuthorization: to avoid code-duplication
Thomas Lamprecht [Fri, 2 Jul 2021 11:53:11 +0000 (13:53 +0200)]
utils: add getOpenIDRedirectionAuthorization: to avoid code-duplication

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agocss: fix debian openlogo background-size for chrom* based browsers
Thomas Lamprecht [Fri, 2 Jul 2021 07:16:41 +0000 (09:16 +0200)]
css: fix debian openlogo background-size for chrom* based browsers

The debian one higher than wide and it seems, contrary to my belief,
the background-size is not taken for both, height and width if only
one param is set, but rather the second paramet height then defaults
to `auto` which Firefox and Chromium handle different in this case.

Set both to make this fixed.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agofixup comment
Thomas Lamprecht [Fri, 2 Jul 2021 06:09:37 +0000 (08:09 +0200)]
fixup comment

forgot to save in vim when editing the comment before committing..

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agonode: repo: highlight proxmox repos that are not producition-ready
Thomas Lamprecht [Thu, 1 Jul 2021 16:38:04 +0000 (18:38 +0200)]
node: repo: highlight proxmox repos that are not producition-ready

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agonode: repos: fix reversed validation on configured
Thomas Lamprecht [Thu, 1 Jul 2021 08:49:25 +0000 (10:49 +0200)]
node: repos: fix reversed validation on configured

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoapt repos: use correct URL
Fabian Ebner [Thu, 1 Jul 2021 07:53:59 +0000 (09:53 +0200)]
apt repos: use correct URL

so there is a 'result' property, which the window expects.

Suggested-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2 years agonode: repos: fix add repo validator
Thomas Lamprecht [Thu, 1 Jul 2021 08:43:10 +0000 (10:43 +0200)]
node: repos: fix add repo validator

isValid is a boolean not a callback, so won't really work and just
set the state once.

Use the `validator` and first call into the parents helper, then do
our logic and return a string  with an explanation in the expected
invalid case.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agonode: repos: fallback to "Other" for unknown origin
Thomas Lamprecht [Wed, 30 Jun 2021 19:58:29 +0000 (21:58 +0200)]
node: repos: fallback to "Other" for unknown origin

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agonode: repos: use warning, not critical for suite-errors if disabled
Thomas Lamprecht [Wed, 30 Jun 2021 19:47:53 +0000 (21:47 +0200)]
node: repos: use warning, not critical for suite-errors if disabled

As in that case it's actually safe, so rather show as warning, albeit
even info/notice like would probably be enough, but still, it is not
a configuration that is wanted permanently.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agonode: repos: fade text of disabled rows
Thomas Lamprecht [Wed, 30 Jun 2021 19:47:20 +0000 (21:47 +0200)]
node: repos: fade text of disabled rows

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agonode: repos: increase width of add-repo window + style cleanup
Thomas Lamprecht [Wed, 30 Jun 2021 19:46:10 +0000 (21:46 +0200)]
node: repos: increase width of add-repo window + style cleanup

We have some longer descriptions so the default width looks crammed.

Also, avoid a intermediate variable which is only used once without
any change.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoAPTRepositories: remove unecessary selection model
Dominik Csapak [Wed, 30 Jun 2021 15:14:59 +0000 (17:14 +0200)]
APTRepositories: remove unecessary selection model

this is the default anyway, no reason to explicitely create it

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2 years agoAPTRepositories: make the Suites warnings inline errors
Dominik Csapak [Wed, 30 Jun 2021 15:14:58 +0000 (17:14 +0200)]
APTRepositories: make the Suites warnings inline errors

by iterating only once over the info array and adding them directly
to the records this way we can avoid iterating over the records
again

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2 years agoAPTRepositories: change updating button text/state to viewcontroller
Dominik Csapak [Wed, 30 Jun 2021 15:14:57 +0000 (17:14 +0200)]
APTRepositories: change updating button text/state to viewcontroller

we already have a viewmodel we can use, and so the handler does
not have to navigate the component tree up/down

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2 years agoAPTRepositories: make panel scrollable
Dominik Csapak [Wed, 30 Jun 2021 15:14:56 +0000 (17:14 +0200)]
APTRepositories: make panel scrollable

so that it is still usable with many errors and/or repositories

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2 years agoAPTRepositories: change separation style between panels
Dominik Csapak [Wed, 30 Jun 2021 15:14:55 +0000 (17:14 +0200)]
APTRepositories: change separation style between panels

having double borders does not look so nice, separate them with a bit
of padding

also change the warning panel to a simple header

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2 years agonode: repos: render Origin logo for Debian & Proxmox
Thomas Lamprecht [Wed, 30 Jun 2021 19:26:18 +0000 (21:26 +0200)]
node: repos: render Origin logo for Debian & Proxmox

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agonode: apt: spawn a window for adding repository
Fabian Ebner [Wed, 30 Jun 2021 15:07:54 +0000 (17:07 +0200)]
node: apt: spawn a window for adding repository

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2 years agocss: increase padding for Debian and Proxmox symbol logos
Thomas Lamprecht [Wed, 30 Jun 2021 19:21:25 +0000 (21:21 +0200)]
css: increase padding for Debian and Proxmox symbol logos

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoimages: use svgcleaner to reduce logo SVG sizes
Thomas Lamprecht [Wed, 30 Jun 2021 18:30:31 +0000 (20:30 +0200)]
images: use svgcleaner to reduce logo SVG sizes

Used svgcleaner[0] with the following safe[1] command:

```
svgcleaner INPUT.svg OUTPUT.svg --indent 1 --resolve-use no \
 --convert-shapes no --group-by-style no --join-arcto-flags no \
 --join-style-attributes no --remove-comments no --remove-declarations no \
 --remove-invisible-elements no --remove-metadata no \
 --remove-nonsvg-attributes no --remove-nonsvg-elements no \
 --remove-text-attributes no --remove-title no \
 --remove-unreferenced-ids no --trim-ids no --ungroup-groups no \
 --list-separator comma
```

Resulting size reductions:

Debian   22.51% smaller
Proxmox  51.00% smaller

Note that the Debian one had a small issue with a unused variable set
which I reported[2] and cleaned up manually for now.

[0]: https://github.com/RazrFalcon/svgcleaner
[1]: https://commons.wikimedia.org/wiki/User:JoKalliauer/Optimization#svgcleaner
[2]: https://github.com/RazrFalcon/svgcleaner/issues/240

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoadd Debian and Proxmox symbol logos and css
Thomas Lamprecht [Wed, 30 Jun 2021 16:24:45 +0000 (18:24 +0200)]
add Debian and Proxmox symbol logos and css

also add a new 'pmx-itype-icon' helper class for the classic bg
repeat/position option to allow more easier reuse

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agonode: services: fix logic for displaying unit state
Thomas Lamprecht [Wed, 30 Jun 2021 19:21:55 +0000 (21:21 +0200)]
node: services: fix logic for displaying unit state

still hacky but at least works now ;-)

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agobuildsys: do not install css or images with executable flag
Thomas Lamprecht [Wed, 30 Jun 2021 13:20:20 +0000 (15:20 +0200)]
buildsys: do not install css or images with executable flag

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agocss: some markdown heading and paragraph font-size & padding tuning
Thomas Lamprecht [Wed, 30 Jun 2021 12:21:50 +0000 (14:21 +0200)]
css: some markdown heading and paragraph font-size & padding tuning

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoapt repositories: replace OfficialHost with Origin
Fabian Ebner [Wed, 30 Jun 2021 10:20:19 +0000 (12:20 +0200)]
apt repositories: replace OfficialHost with Origin

to adapt to the new backend behavior.

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2 years agoadd basic .gitignore
Thomas Lamprecht [Tue, 29 Jun 2021 10:21:06 +0000 (12:21 +0200)]
add basic .gitignore

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agobump version to 3.1-4
Thomas Lamprecht [Mon, 28 Jun 2021 17:14:50 +0000 (19:14 +0200)]
bump version to 3.1-4

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agonode tasks: fixup overly-short comment lengths
Thomas Lamprecht [Mon, 28 Jun 2021 14:19:38 +0000 (16:19 +0200)]
node tasks: fixup overly-short comment lengths

The minimum "max length" should be 80cc, and 100cc is also fine.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agonode/Tasks: merge improvements from PBS and make it more generic
Dominik Csapak [Thu, 24 Jun 2021 07:16:16 +0000 (09:16 +0200)]
node/Tasks: merge improvements from PBS and make it more generic

this copies most of the task grid from pbs, but adds handling so that
users can add aribtrary filter fields

the filter fields always present are:
* since
* until
* task type
* task status

other filters fields can be added by giving an 'extraFilter' array
which must contain widget definitions that emit a 'change' event.
this is then used to update the filters for the api call

also you can add a 'preFilter' object, that sets the filter parameter
only once at the beginning

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2 years agocbind mixin: also descend in elements with an cbind property
Thomas Lamprecht [Fri, 25 Jun 2021 06:42:39 +0000 (08:42 +0200)]
cbind mixin: also descend in elements with an cbind property

Not only into those with an xtype one, as we can either have a
implicit default xtype (e.g., in tbars for buttons, or set explicitly
via the `defaults` mechanism) or want to apply cbinds to stores or
other objects.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>