IF YOU WOULD LIKE TO GET AN ACCOUNT, please write an
email to Administrator. User accounts are meant only to access repo
and report issues and/or generate pull requests.
This is a purpose-specific Git hosting for
BaseALT
projects. Thank you for your understanding!
Только зарегистрированные пользователи имеют доступ к сервису!
Для получения аккаунта, обратитесь к администратору.
Add a similar mechanism like we have for adding and overriding task
description per product UI.
Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
As getting a good setting name is a bit hard here, the current one
might me interpreted such that setting it to false will always hide
the trigger, but that's not the case, this is mostly a "force show
trigger even if allowBlank is set to false", and that's a bit of a
long name ;-)
So just add a comment and reevaluate if this really causes confusion.
While at it simplify the boolean expression to make it shorter and
easier to read.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
This allows one configure the clear trigger to be shown, even if
'allowBlank' is set false. This can be useful if one has a
non-editable combogrid where the value is set to something not
present in the store. Example: Match rule editing, one selects
a backup job to be match. If the backup job is removed and the match
rule edit window is opened again, then the old, deleted value cannot
be removed from the combogrid if there is no clear trigger.
Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
When selecting a new date, we get a date object from the currently
selected date before the change. If that month has less days than what
was selected for the new month, `setDate` will wrap that to the
following month since the old month is still selected there.
For example:
select any date in april (has 30 days)
then select the 31th of january
this will actually select the 1st of january since we first get
setDate: 20xx-04-XX -> 20xx-04-31 (wrap) -> 20xx-05-01
setMonth: 20xx-05-01 -> 20xx-01-01
To fix this, use the additional parameters of setFullYear[0] to set
all of them simultaneously
0: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setFullYear
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
recently the proxmox-i18n repo got a fix where we moved the files for
Korean to the correct language code, i.e., from previously wrong used
kr (Kanuri) to the correct ko (Korean).
This loads the correct ExtJS locale and is less confusing for our
Korean speakers, but we still want a clean transition for those that
have still the 'kr' value set in their language cookie.
Note that this transition only happens when the user opens the
language selector, as otherwise we do not have the product-specific
cookie name available, so a better transition would need to happen in
the per-product UIs.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
by doing a cbind of isCreate to the top-level widget so that cbind in
the nested widgets for deleteEmpty works.
In the GUI, when a sendmail/smtp target is edited and either
'Additional Recipients' or 'Recipients' is completely removed (only
possible if the other field contains a value), parameter deletion did
not work properly. After applying the changes, the old value would
still be in place.
Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
Tested-by: Lukas Wagner <l.wagner@proxmox.com>
Reviewed-by: Lukas Wagner <l.wagner@proxmox.com>
Instead of coloring the entire icon red, show a yellow warning
triangle containing an exclamation mark in case of validation errors.
Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
The 'not' prefix is already stripped in the set() method of the view
model's 'rootMode' and not present anymore when updating the store.
The information about whether the mode is inverted or not is present
in the 'invert' data member.
Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
by removing the 'invert' checkbox and instead show the 4 modes possible,
we still assemble/parse the invert for the backend
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
This column shows whether a matcher/target was provided as a built-in
default config or if it was created by the user. For built-ins, it
also shows whether the built-in settings have been changed.
To reset a built-in entry to its defaults, one can simply delete it.
For best UX, the 'delete' button should change its text to 'reset
defaults' when a built-in target/matcher is selected. This will be
added in another patch.
Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
Add a 'enable' checkbox for targets and matchers in their edit
windows. Also show a new 'enable' column in the overview panel.
The parameter in the config is actually called 'disable', so
the UI needs to invert the setting in the appropriate
on{Get,Set}Values hooks.
Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
This new endpoint configuration panel is embedded in the existing
EndpointEditBase dialog window. This commit also factors out some of
the non-trivial common form elements that are shared between the new
panel and the already existing SendmailEditPanel into a separate panel
EmailRecipientPanel.
Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
For now with fixed options that are shared between most notification
events - later, once we have a notification registry, this should be
filled dynamically.
Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
A default notification config will now be created in pve-manager's
postinst hook - which is not magic in any way and can be modified
and deleted as desired.
Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
This modifies the old filter edit window in the following ways:
- Split content into multiple panels
- Name and comment in the first tab
- Match rules in a tree-structure in the second tab
- Targets to notify in the third tab
Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
the other one _should_ not be problematic, as field-container itself
isn't picked up as a "real" field itself, but we might bind to that
somewhere, where enabling could break this.
The editable one seems to not be used yet, according to Dominik, so
fix that now already.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
for parameters only for now, also only implement the basic use case we
want to have currently: use in section config apis where we have more
than one type.
we could improve upon that, e.g. by properly grouping the type relevant
options, and also implementing that for return types.
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
we have to initialize the value of a combogrid to something (else extjs
does not initialize everything in the object *sometimes* for yet unknown
reasons), but the empty string is wrong.
we already have at least two places where we set the default value to []
(namely NodeSelector and ha GroupSelector) with the comment:
// set default value to empty array, else it inits it with
// null and after the store load it is an empty array,
// triggering dirtychange
so it makes sense to always set it to that by default. This only ever is
relevant when the combogrid has `allowBlank: true`, since if it does not
it's either invalid (and thus "dirty") or it has a selected value anyway
this should make the manual setting of
value: [],
unnecessary in the child classes. We can even remove it direcly in the
NetworkSelector.
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
it's not returned anymore by the corresponding backends, since fetching
changelogs is now fully delegated to `apt`.
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Render all OSD IDs in 'osdid-list' if the parameter is present.
It is possible to have multiple OSD daemons on a disk. We want to list
them all in the UI.
Fall back to the 'osdid' parameter if 'osdid-list' is not available.
We check rec.data['osdid-list'] against its general truthiness as it
might not be present at all or null.
Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
Extends the current panels date filtering capability to date-time
based filtering, and adds a config option to switch between livemode
and filter mode, analogous to the JournalView panel.
The `submitFormat` config is introduced to adapt the formatting of
params values for their corresponding api calls.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
Reworks the current implementation of the DateTimeField to be more
declarative by using a ViewModel and data bindings as well as formulas,
in order to reduce code and unwanted complexity.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
The default value is determined by the backend and is never
translated (which does not make sense any way for a product name).
This was likely just a copy/paste mistake from other from fields.
Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
Inspired by a recent bug detected in the subscription key field, where
a trailing white space caused verification issues.
We might even enable the trimming by default, after checking call
sites that is – most often one wants to trim the text to be submitted
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Split the logic so that each tag is handled explicitly on it's own
if-else branch, which is now safer to do as we default to
allow-only-http-like.
Also address a recently introduced regression from the implementation
of the #4756 where any user that could edit notes could use
javascript: script-urls for XSS purpose to prepare a link that could
leak private user information when another user clicked on it, at
least if they omitted basic sanity checks by looking at the URL
displayed by the browser before.
We have to override a false-positive triggered by a eslint heuristic,
a simple string compression should be always safe.
Fixes: 5cbbb9c ("fix #4756: markdown notes: allow any valid URL for a tags")
Reported-by: Hieu Dang Cong <HieuDC5@fpt.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
we should make this controllable by the user for images, while modern
browser are quite safe w.r.t. not transmitting to much info on cross
origin requests, it still might be nicer if they have some control
over this.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Having a default-remove boolean flag is making it easier to get this
right and decouple the if-branches that check if something is OK
(which may get more complex in the future) from the actual handling of
the result by always removing the href attribute if not explicitly
told otherwise.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>