Commit Graph

12903 Commits

Author SHA1 Message Date
Johannes Meyer 05fdd98ba8 role/audit: Add input to choose a user 2021-04-07 14:30:14 +02:00
Johannes Meyer 42bdbe38b1 Introduce class `Icinga\Web\Widget\SingleValueSearchControl` 2021-04-07 14:30:14 +02:00
Johannes Meyer fe7879c68b group|role|user: Add new tab `role/audit` 2021-04-07 14:30:14 +02:00
Johannes Meyer a4a658974d AuthBackendController: Inherit from `ipl\Web\Compat\CompatController` 2021-04-07 14:30:14 +02:00
Johannes Meyer fe51f8c968 IdoQuery: Accept any character in custom var names
fixes #4342
2021-04-06 10:47:03 +02:00
Johannes Meyer 867b2af12d pdf: Include `<base>` tag in PDF layout
This forces the browser (in case of the pdfexport module)
to perform a network request. Otherwise there's no way
(currently) to know what the browser does or cannot do.
File resource loading isn't logged through the CDP.
2021-03-31 16:39:19 +02:00
Johannes Meyer a8be92c245 loader.js: Still apply some accessibility changes..
..if a renderHook discards an autorefresh. There is
unfortunately no way to distinguish between a renderHook
that really discards changes or one that applies them
on the DOM itself. If it's the first, this change
*shouldn't* hurt. If it's the latter, users should
benefit.
2021-03-31 12:38:35 +02:00
Johannes Meyer e65ec1900a js: Add new special redirect target `__CLOSE__`
This has the same effect as a normal redirect. The benefit of it however
is that the server doesn't need to know what's being shown in the left
column. It just instructs the client to close the right and refresh the
left column. But still produces a new history state, it's a forward
navigation nonetheless.
2021-03-30 13:25:40 +02:00
Johannes Meyer d0642587e4
Merge pull request #4341 from Icinga/fix/quick-search-double-encodes-query-values-4321
Don't double encode query param values when using the quick search
2021-03-30 10:37:41 +02:00
Johannes Meyer 8b0fd4daaf FilterEditor: Merge preserved query params as encoded params
This way the query param values are not encoded twice.

fixes #4321
2021-03-30 10:30:57 +02:00
Johannes Meyer 94a16056d7 js: Speedup collapsible.js by a factor of 10
It's still relatively slow as it forces a reflow in the
browser if there are many collapsibles in the view.
I didn't manage to identify the issue yet, but I left
a TODO at the location that's responsible for it.
2021-03-30 09:31:57 +02:00
Johannes Meyer 1675cc6d74 js: Make Utils.getCSSPath work without a jQuery set 2021-03-30 09:31:57 +02:00
Johannes Meyer 25263e767b js: Allow to disable persistence for collapsibles 2021-03-30 09:27:22 +02:00
Johannes Meyer 544febe84e RoleForm: Fix self reference when creating a new role without parent 2021-03-19 09:03:19 +01:00
Johannes Meyer 1890e0e745
Merge pull request #4332 from Icinga/feature/support-for-null-comparisons
Transform `*` equal/unequal comparisons to NULL checks
2021-03-12 11:23:00 +01:00
Johannes Meyer 0fc06d7795 Transform `*` equal/unequal comparisons to NULL checks
This comes from https://github.com/Icinga/ipl-sql/pull/31
2021-03-12 09:50:59 +01:00
Johannes Meyer 5dfa5e28da User: Add property `$unrestricted` 2021-03-09 11:27:13 +01:00
Johannes Meyer 8c147c1b2f css: Remove left-over styles from tipsy 2021-03-09 08:58:48 +01:00
Johannes Meyer 885947bc6a LoginForm: Add `autocomplete` attributes as requested by Chrome 2021-03-09 08:58:12 +01:00
Johannes Meyer 07251e6d5e modal.js: Really only close the modal if the user clicks outside of it
The click event fires only after the mouse button is released, which
may happen on the outside, after the user tried to select something
and overrun accidentally. A close is then not desired as the user
may loose input. The mousedown event fires right when the button
is pressed and suffices on the outside of the modal.
2021-03-09 08:52:10 +01:00
Johannes Meyer 7790a72efa js: Only close a modal if an ESC press is not handled otherwise 2021-03-09 08:52:10 +01:00
Johannes Meyer 59e6ec4035 JavaScript: Ensure that `$baseFiles` are loaded first if minified 2021-03-09 08:52:10 +01:00
Johannes Meyer b4531b6b45 js: Add support for the `search-editor` input enrichment
Also makes it possible to enrich inputs in modals
2021-03-09 08:52:10 +01:00
Johannes Meyer 4a2ab4740c JavaScript: Enhance `DEFINE_RE` to broaden supported syntaxes 2021-03-09 08:52:10 +01:00
Johannes Meyer b17be671bc js: Accept non-jQuery nodes in method `EventListener.bind()` 2021-03-09 08:52:10 +01:00
Johannes Meyer e4ff391b1a js: Trigger a `rendered` event if SearchBar editor is opened 2021-03-09 08:52:10 +01:00
Johannes Meyer f44ea884bd js: Suspend auto refresh once `search-bar` enrichment opens its editor 2021-03-09 08:52:10 +01:00
Johannes Meyer 1f29c4a2fe js: Allow to suspend auto refresh for individual containers 2021-03-09 08:52:10 +01:00
Johannes Meyer 4366f93127 js: Support new input enrichment type `search-bar` 2021-03-09 08:52:10 +01:00
Johannes Meyer 027e468943 js: Update a form's action if it's a auto submit response with `X-Icinga-Location-Query` 2021-03-09 08:52:10 +01:00
Johannes Meyer 43dd89f946 js: Also support `_self` and such target ids for response header `X-Icinga-Container`
The server can now instruct the client to render the response in a different container
2021-03-09 08:52:10 +01:00
Johannes Meyer 6e8ca9cdda js: Add method `identifyLinkTarget()` to the loader 2021-03-09 08:52:10 +01:00
Johannes Meyer 4f57aa68cd js: Transmit `X-Icinga-Container` for all requests
This tells the server which container the client will use
to render the response in
2021-03-09 08:52:10 +01:00
Johannes Meyer 293021b200
Merge pull request #4276 from Icinga/fix/handling-of-multi-valued-ldap-attributes-4213
Fix handling of multi valued ldap attributes
2021-02-23 08:35:01 +01:00
Johannes Meyer d6722c7772 LdapQuery: Compare multi-valued attributes as rfc2891 suggests 2021-02-23 08:22:58 +01:00
Johannes Meyer 6a5e12af04 LdapUserGroupBackend: Properly handle multi-valued names 2021-02-23 08:22:58 +01:00
Johannes Meyer 4d4f5b3a69 js: Don't serve scripts utilizing ECMA2016+ features
i.e. library javascript assets
2021-02-22 16:01:42 +01:00
Johannes Meyer 64d1574972 JavaScript: Load minified library assets if available 2021-02-22 15:09:59 +01:00
Johannes Meyer 5c5e83a700 loader.js: Don't use the regex DotAll modifier, it's ES2018+ only
i.e. not supported by Microsoft Edge
2021-02-22 15:07:55 +01:00
Johannes Meyer 9dae3bdf88 loader.js: Only abort GET autorefresh requests 2021-02-18 14:10:02 +01:00
sukhwinder33445 ab97b6fdf0
Enforce database as configuration backend (#4135) 2021-02-18 12:31:21 +01:00
Johannes Meyer 91d4669dcb
Merge pull request #4285 from Icinga/bugfix/curl-monitoring-service-show-4281
CheckNowCommandForm#init(): set submit label
2021-02-18 12:21:50 +01:00
Johannes Meyer 16be5f9572 Form: Add some todos regarding the handling of "api targets"
I've added them only for our future "migration" to `ipl\html\Form`.
We MUST NOT migrate this flawed handling of API targets.
2021-02-18 12:16:43 +01:00
Johannes Meyer 923060a91e
Merge pull request #4306 from Icinga/feature/authorization-enhancements
Authorization enhancements
2021-02-18 11:51:48 +01:00
Johannes Meyer cc65164a67 Adjust global permissions 2021-02-18 11:11:39 +01:00
Johannes Meyer 429a70f05f Auth: Allow to ignore any and all restrictions 2021-02-18 11:11:39 +01:00
Johannes Meyer 155604e5b1 docs: Update security chapter 2021-02-18 11:11:39 +01:00
Johannes Meyer 6eb0139446 User: Move `$user:local_name$` handling to class `AdmissionLoader`
This way it also adjusts the roles directly, and not just their
copies for the user object
2021-02-18 11:11:39 +01:00
Johannes Meyer bdd0f204f0 Auth: Support single inheritance in roles 2021-02-18 11:11:39 +01:00
Johannes Meyer 87d741265e Auth: Add support for denied permissions 2021-02-18 11:11:39 +01:00