Commit Graph

1133 Commits

Author SHA1 Message Date
Alexander Burmatov
6a5cf372d1 4.2.3-alt2
- Adapted APTRepos node checks for ALT.
2024-11-07 02:50:10 +03:00
Alexander Burmatov
d52e34150a Add icon for ALT origin 2024-11-07 02:49:54 +03:00
Alexander Burmatov
5c2bddbc1a Remove subscription 2024-11-07 02:21:05 +03:00
bf214358c6 Adapted APTRepos node checks for ALT 2024-11-07 02:06:40 +03:00
Andrew A. Vasilyev
6f57aae738 4.2.3-alt1
- 4.2.3
2024-08-29 18:52:05 +03:00
Andrew A. Vasilyev
34c3a73e54 ALT: build js from marked.js 2024-08-29 18:47:31 +03:00
Andrew A. Vasilyev
e1d74f04fa ALT: add marked.js from deb package 2024-08-29 18:46:59 +03:00
Andrew A. Vasilyev
40ae32f7a1 Merge branch 'upstream' 2024-08-29 18:43:22 +03:00
Thomas Lamprecht
1ed4b715bc bump version to 4.2.3
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2024-04-25 11:45:15 +02:00
Dominik Csapak
68cea10fa7 realm edit: don't send 'delete' parameter when creating new entry
since tha api does not expect a 'delete' parameter here

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2024-04-25 11:42:51 +02:00
Dominik Csapak
a5fa465796 realm edit: don't send type as extra parameter when 'useTypeInUrl' is set
in that case, the type is already part of the url and we must not send
it additionally as an parameter

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2024-04-25 11:42:51 +02:00
Thomas Lamprecht
10f804941c bump version to 4.2.2
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2024-04-24 21:44:17 +02:00
Stefan Lendl
3251f4042b form: include vlan field widget from PVE
Copied from PVE to use in PBS network configuration.

Signed-off-by: Stefan Lendl <s.lendl@proxmox.com>
Reviewed-by: Lukas Wagner <l.wagner@proxmox.com>
Tested-by: Lukas Wagner <l.wagner@proxmox.com>
Tested-by: Folke Gleumes <f.gleumes@proxmox.com>
2024-04-24 21:43:06 +02:00
Thomas Lamprecht
2d98e03d7c bump version to 4.2.1
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2024-04-23 19:33:24 +02:00
Lukas Wagner
f95fcc26b6 sendmail: smtp: allow one to override the default mail author
In PBS, we obviously don't have "Proxmox VE" as a default sender, so
we need a mechanism to change the default author.

Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
Tested-by: Maximiliano Sandoval <m.sandoval@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2024-04-23 19:33:10 +02:00
Maximiliano Sandoval
3a4432a6e4 fix #5251: tfa: set autocomplete on tfa input form
Signed-off-by: Maximiliano Sandoval <m.sandoval@proxmox.com>
2024-04-23 17:10:43 +02:00
Thomas Lamprecht
af27e81747 bump version to 4.2.0
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2024-04-21 12:31:57 +02:00
Stefan Hanreich
9ffe9009fb network edit: allow bridges to have any valid interface name
Allow the web UI to accept bridge interfaces with any valid interface
name, rather than being limited to the arbitrary "vmbr" prefix.

Limiting to at most 10 characters, since SDN possibly adds a .XXXX
prefix for Vlans. Since the hard limit for network interface names is
15 characters, limiting it to 10 characters here enables SDN to append
the VLAN prefix in any case.

Originally-by: Jillian Morgan <jillian.morgan@primordial.ca>
Reviewed-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Signed-off-by: Stefan Hanreich <s.hanreich@proxmox.com>
 [ TL: avoid far away intermediate variable ]
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2024-04-21 11:54:05 +02:00
Thomas Lamprecht
2e454014e0 gitignore: add more build artefacts to ignore list
ignore the assembled widget toolkit, the CSS generated from SCSS and
some more packaging related files

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2024-04-21 09:56:55 +02:00
Thomas Lamprecht
82bb667f05 edit window: fixup syntax mis-hap
argh, it's was a bit to late for the previous clean-up and I forgot to
drop a closing parenthesis after reworking the if expression (and did
test again...).

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2024-04-20 20:43:21 +02:00
Thomas Lamprecht
1689e53f6f window: edit: simplify setting submit button
Since the reset-form functionality got moved into the header tools in
commit 046ec35 ("fix #5277: move reset button into window header
toolbar") we can unconditionally set the initial buttons, as those
will always just contain the submit one now.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2024-04-20 20:41:11 +02:00
Thomas Lamprecht
f646c22a67 notes view: make opening the editor on double-click opt-in
One can get some smart-selection behavior when double clicking text in
browsers, e.g., whole-word selection, and the notes view is generally
for having some text that is often copied, like hostnames or IP
addresses.

Opening the notes editor on double click is interfering with that
select+copy workflow, so instead of hard-coding that make it opt-in,
controlled by a setting from the browser-local storage.

Add some handling to cope with live-changes to that setting, as having
to re-open a panel to make it take effect is annoying and might make
people believe that this is buggy.

This new setting has (currently) to be handled by the per-product UI.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2024-04-20 17:26:48 +02:00
Thomas Lamprecht
bb5cc876ef notes view: use pencil-square-o icon for opening the editor
The gears one from the native tool with the same name is not really
telling and is normally rather used for options, not editing a
specific (notes) field.

So go for the edit pencil that indicates editing some field and use
that for both the edit button in the top bar and the tool one in the
title header bar.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2024-04-20 17:19:33 +02:00
Thomas Lamprecht
d958d57e0d notes view: place collapse tool on the right
so it's always at the end for both the collapsed and expanded state

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2024-04-20 17:19:24 +02:00
Thomas Lamprecht
046ec35b11 fix #5277: move reset button into window header toolbar
The 'Reset' button, which can be used to reset the form to its
original values when editing an existing resource or property, was
located at the right to the submit button since its initial addition
(before the git epoch started at Proxmox).

As it had the exact same form and color as the 'OK' submit button, it
is easy to press by accident, which then resets the pending changes
one wanted to submit – while not catastrophic it's just needlessly bad
UX.

As this UX-mishap is something one gets used too relatively fast,
especially as developer due to frequently opening such dialogues to
test changes, its something that mostly newer users will run into.
Luckily one took the effort to actually open an enhancement request,
providing ample resources to underline their point.

While there where quite a few proposals to improve this, most of them
had some (smaller) disadvantage (e.g., potentially jumping location,
confusion with other buttons like the help one).

Moving the reset functionality as as icon-only + tooltip button into
the window header title bar was the proposal that had no real
disadvantage and solved the underlying UX issue by cleanly separating
submit from reset. Having reset near the close-window tool has no
negative implications, as both have a similar effect, the discard the
current pending changes that the user did not yet submit, so if one
mistakenly hits close instead of reset, or vice-versa, nothing is
lost.
A nice side-benefit of that option is that the change is really small
code wise.

Closes: #5277
Reported-by:  Tristan Harward <trisweb@gmail.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2024-04-20 17:19:24 +02:00
Thomas Lamprecht
b1df1f0efb css: correctly mask disabled elements inside headers
The mask ExtJS uses to add a disabled look is using the general
default background color of panels as base color, i.e. white for light
mode and almost black for the dark mode.

But as the top header of windows uses a darker variant, having a mask
applied on some icons that is rendered directly in the header, without
any (button) element that provides its own background color, will make
that element show off.

This mostly happens for Tools, which we do not have many besides the
"Close" on, which is almost never disabled.

This was noticed when trying out to move the reset button inside the
window header tool bar, when that was disabled (e.g., form was not
dirty) it stuck out quite a bit in an odd way.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2024-04-20 17:19:24 +02:00
Thomas Lamprecht
48830b9713 window: whitespace indentation fix
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2024-04-20 17:19:24 +02:00
Thomas Lamprecht
43b66893a8 buildsys: also clean proxmox-dark folder in src clean target
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2024-04-20 17:19:24 +02:00
Thomas Lamprecht
9afdea76cf safe destroy window: rework top-level comment
avoid odd wrap, this isn't a poem, and add some more context.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2024-04-20 17:19:24 +02:00
Thomas Lamprecht
537702e12f eol notice: escalate to warning only shortly before EOL
The EOL message is positioned quite noticeable already in all our
products, being always visible. So use a notice-style for the icon
and its color until three weeks before EOL, when we switch to a
critical warning.

As it can be OK to run a, e.g., PVE 7 setup shortly before its EOL,
if, for example, one plans to replace it completely and decommission
the old one (so upgrade before EOL would be just extra work).

Using three weeks for the cut-off has no in-depth, heavily thought
out Good Reason™, but was rather chosen as it's likely to be noticed
before the actual EOL in somewhat actively maintained setups (e.g.,
admin checking in every week or two) and can give admins further
means to escalate things with higher ups. Also weeks are always 7
days, while months aren't uniform, so the former is easier to
communicate.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2024-04-16 13:04:12 +02:00
Thomas Lamprecht
0493654c85 eol notice: surpress highlighting if link was visited
add a class to the whole outer div to manage the CSS rules for the
EOL widget and use this to keep the original color for links even if
they got visited already.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2024-04-16 13:04:12 +02:00
Thomas Lamprecht
120b530a31 notify: shorten text to "reset" for built-in targets
While the difference between Reset and Remove is a bit more subtle
this also leads to less jumping around of UI elements on the right to
it (we normally avoid such size-changes that cause layout changes
completely).

Also, the confirmation message is quite telling, so this is not too
bad.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2024-04-10 12:18:58 +02:00
Lukas Wagner
83bae06cae notify: change 'Remove' button to 'Reset to default' for built-ins
A HTTP DELETE for a built-in target/matcher acts as a reset to its
defaults. This patch changes the 'Remove' button text based on the
selected target/matcher. If it is a built-in, the button text is
changed to 'Reset to default'. Also, if the built-in is not actually
modified, the button is disabled.

Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
2024-04-10 12:12:30 +02:00
Lukas Wagner
26e2aa7ce4 remove button: allow to set custom confirmation message
Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
2024-04-10 12:12:30 +02:00
Maximiliano Sandoval
2834a05d2b i18n: mark strings as translatable
Note that N/A is already translatable in other places.

Signed-off-by: Maximiliano Sandoval <m.sandoval@proxmox.com>
2024-04-10 12:09:04 +02:00
Friedrich Weber
502c84b1ee window: edit: avoid sharing custom config objects between subclasses
Currently, `Proxmox.window.Edit` initializes `extraRequestParams` and
`submitOptions` to two objects that, if not overwritten, are shared
between all instances of subclasses. This bears the danger of
modifying the shared object in a subclass instead of overwriting it,
which affects all edit windows of the current session and can cause
hard-to-catch GUI bugs.

One such bug is the following: Currently, the `PVE.pool.AddStorage`
component inadvertently adds `poolid` to an `extraRequestParams`
object that is shared between all instances of `Proxmox.window.Edit`.
As a result, after adding a storage to a pool, opening any edit window
will send a GET request with a superfluous `poolid` parameter and
cause an error in the GUI:

> Parameter verification failed. (400)
> poolid: property is not defined in schema and the schema does not
> allow additional properties

This breaks all edit windows of the current session. A workaround is
to reload the current browser session.

To avoid this class of bugs in the future, implement a constructor
that makes copies of `extraRequestParams` and `submitOptions`. This
ensures that any subclass instance modifies only its own copies, and
modifications do not leak to other subclass instances.

Suggested-by: Stefan Sterz <s.sterz@proxmox.com>
Suggested-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Signed-off-by: Friedrich Weber <f.weber@proxmox.com>
Tested-by: Stefan Sterz <s.sterz@proxmox>
2024-04-10 10:35:18 +02:00
Stefan Sterz
2b6e8c67a6 dark-mode: set intentionally black icons to $icon-color
some icons intentionally use black as their color in the light theme.
this includes the little pencil and check mark icon in the acme
overview. change their color to the regular dark-mode icon-color. for
this to work the filter inversion needed for some other icons needs to
be removed too.

Signed-off-by: Stefan Sterz <s.sterz@proxmox.com>
2024-04-10 10:28:02 +02:00
Thomas Lamprecht
4a5dd69899 update IFrame class to ExtJS 7.0 implantation
To get rid of some outdated event handlers like `beforeunload` which
Chromium based browsers are deprecating this year [0].

For those wondering about why we do not use ExtJS implementation
directly here it might be worth adding that the `Ext.ux` name space is
build to a separate file that has a (minified!) size of almost 160
KiB, and we only use a handful of those, so copying is a lot cheaper.

[0]: https://developer.chrome.com/docs/web-platform/deprecating-unload

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2024-04-01 16:27:18 +02:00
Andrew A. Vasilyev
3d617773ec 4.1.5-alt1
- 4.1.5
2024-03-29 20:53:31 +03:00
Andrew A. Vasilyev
f39cad0b88 Merge branch 'upstream' 2024-03-29 20:51:03 +03:00
Christoph Heiss
da210b58a7 window: ldap: add tooltips for firstname, lastname and email attributes
Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
2024-03-25 17:15:24 +01:00
Christoph Heiss
4aff870f6c window: add Active Directory auth panel
As AD realms are mostly just LDAP, reuse the LDAP panel and just
show/hide some elements based on the type.

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
2024-03-25 17:15:24 +01:00
Thomas Lamprecht
f60fe4ad99 bump version to 4.1.5
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2024-03-21 17:40:57 +01:00
Thomas Lamprecht
a5d6c92f60 window: password edit: clarify labels
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2024-03-21 17:33:24 +01:00
Wolfgang Bumiller
be5b9a4393 window: password edit: add opt-in confirmation-password field
For when the product UI using this component wants to show an extra
confirmation field where the user that executes the password change,
have to confirm their own password.

Reported-by: Wouter Arts <security@wth-security.nl>
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
 [ TL: use already included CBind mixin instead of constructor ]
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2024-03-21 17:30:27 +01:00
Dominik Csapak
d35cb8aa7c utils: api request: defer masking after layout
Since recently (not sure when exactly), the 'load()' method of the
edit window did not correctly mask the window anymore

The reason seems to be that the API2Request tries to mask the
component before it's rendered, and that did never work correctly.

Instead of simply calling `setLoading`, test if the component is
rendered, and if not, mask it after it has finished it's layout.

Since we cannot guarantee that there is only one API2Request with the
waitMsgTarget set to it, nor that the 'afterlayout' and api call
responses come in a specific order, we count the loads, and only
ever unmask the component when the counter reaches zero again.

Since we're strictly in non-async code here and JavaScript is
single-threaded, this should not result in a data race.

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2024-03-19 18:05:13 +01:00
Maximiliano Sandoval
461bb2e56c certificates: removal prompt: don't display name if there is no name
The default certificate does not have a name, which caused this to
display an undefined text in the prompt.

Reported-by: Dietmar Maurer <dietmar@proxmox.com>
Signed-off-by: Maximiliano Sandoval <m.sandoval@proxmox.com>
 [ TL: drop useless instance of calling format, keep arrow-fn ]
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2024-03-07 15:30:50 +01:00
Stefan Lendl
8d95122d85 gitignore: sort gitignore
Signed-off-by: Stefan Lendl <s.lendl@proxmox.com>
2024-03-07 15:23:31 +01:00
Stefan Lendl
a5b07f65ca gitignore: build outputs
Signed-off-by: Stefan Lendl <s.lendl@proxmox.com>
2024-03-07 15:23:31 +01:00
Dominik Csapak
03e44f5b60 edit window: add optional custom submit options
sometimes it's necessary or handy to add custom options to the submit
api call (e.g. timeout). So just expose a `submitOptions` where users
of the edit window can put their custom options.

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2024-03-07 15:08:34 +01:00