Commit Graph

4071 Commits

Author SHA1 Message Date
Johannes Meyer ed009bb032 PrivilegeAudit: Use strict interfaces to contruct ipl\Html objects 2021-06-21 16:11:30 +02:00
Johannes Meyer f400f4d96d AppHealth: Use strict interfaces to construct ipl\Html objects 2021-06-21 16:10:55 +02:00
Johannes Meyer 35659c8d51
Merge pull request #4391 from Icinga/improve-cache-handling
Improve cache handling
2021-06-18 13:57:30 +02:00
Johannes Meyer 0756797fbb Make configuration of custom user-group backends possible
refs #2840
2021-06-18 10:41:39 +02:00
Gianluca Piccolo 1e7f700102 Make configuration of custom user backends possible
refs Icinga/icingaweb2#2840
2021-06-18 10:28:35 +02:00
Johannes Meyer 870c3e0e5b Force clients to ask us if their cached CSS is valid 2021-06-16 14:58:44 +02:00
Johannes Meyer 1ada53539c Force clients to ask us if their cached JS is valid 2021-06-16 14:57:14 +02:00
Johannes Meyer 81c0613e68 Library: Add missing shut-up operator to `file_get_contents` call 2021-06-16 11:57:00 +02:00
Johannes Meyer 0d6da2d859 error/error: Check web2's deps and enhance lib checks 2021-06-07 09:40:40 +02:00
Johannes Meyer 6e3ad08aef Zend: Fix `array_walk_recursive` pass by reference error on PHP8
refs #4287
2021-06-02 11:24:01 +02:00
Johannes Meyer 4e3811cc84 Module: Allow `/` and `-` in module/library dependency names 2021-06-01 09:14:28 +02:00
Johannes Meyer 229e24519a
Merge pull request #4376 from Icinga/utilize-ipl-i18n-4366
Utilize ipl-i18n
2021-06-01 09:13:45 +02:00
Johannes Meyer 4fc78a4cfd ApplicationBootstrap: Change default library path
from: `/usr/share/php-Icinga`
to: `/usr/share/icinga-php`
2021-05-31 10:17:35 +02:00
Johannes Meyer dcb619e62a Translator: Add deprecation notice and use ipl-i18n internally 2021-05-28 14:03:36 +02:00
Johannes Meyer f363bf5bf6 BaseTestCase: Setup `ipl\I18n\StaticTranslator::$instance` 2021-05-28 14:03:36 +02:00
Johannes Meyer db1fea6331 Web: Detect preferred locale using ipl-i18n 2021-05-28 14:03:36 +02:00
Johannes Meyer 84757111d1 ApplicationBootstrap: Deprecate method `listLocales()` 2021-05-28 14:03:36 +02:00
Johannes Meyer 2e5abbc832 Use ipl-i18n's `Translation` trait where applicable 2021-05-28 14:03:36 +02:00
Johannes Meyer cb92e86b99 functions: Use ipl-i18n in functions `t`, `tp`, `mt` and `mtp` 2021-05-28 14:03:36 +02:00
Johannes Meyer 8137f1546f Module: Register locales using ipl-i18n 2021-05-28 14:03:36 +02:00
Johannes Meyer bfd2449e5d bootstrap: Setup internationalization using ipl-i18n 2021-05-28 14:03:36 +02:00
Florian Strohmaier 24c1bb1f8c IcingaCheckbox: Add `hidden attribute to input element
refs #4310
2021-05-25 17:09:51 +02:00
Eric Lippmann 68acf12407
Remember me (#4112)
Co-authored-by: Sukhwinder Dhillon <sukhwinder.dhillon@icinga.com>
2021-05-21 15:43:06 +02:00
Johannes Meyer 162d898d42 js: Introduce `DatetimePicker` behavior
Utilizes `flatpickr` from ipl-web.
2021-05-17 13:20:42 +02:00
Johannes Meyer a87f15c861 Auth: Reload entire layout if the locale changes 2021-05-17 13:20:42 +02:00
Johannes Meyer 0da4a11d91
Merge pull request #4355 from Icinga/health-endpoint
Health endpoint
2021-05-17 13:11:51 +02:00
Johannes Meyer cb4e6011f3 js: Remove jquery-migrate 2021-05-17 10:44:27 +02:00
Johannes Meyer 0d2bf1ae33 Menu: Integrate health endpoint 2021-05-14 15:45:35 +02:00
Johannes Meyer 5e382dcfa9 Introduce health endpoint /health[/checks] 2021-05-14 15:45:35 +02:00
Johannes Meyer 197f42557a Markdown: Allow to pass purifier config and provide a default 2021-04-27 13:17:44 +02:00
Johannes Meyer 5f8704e635 Introduce class `Icinga\Web\Helper\Markdown\LinkTransformer` 2021-04-27 13:17:44 +02:00
Johannes Meyer 065915397a zend: PHP 8 compatiblity changes
`ReflectionClass::newInstanceArgs()` seems to respect string keys
since PHP 8.

refs #4289
2021-04-14 10:51:38 +02:00
Johannes Meyer d9a87f76a2 AdmissionLoader: Optimize role loading 2021-04-14 10:11:19 +02:00
Johannes Meyer 384d9535a9 ArrayDatasource: Sort result first and then apply limit+offset 2021-04-12 15:42:20 +02:00
Bas Couwenberg dc7a8c8d8b
Update JShrink for PHP 8 support. (#4298)
refs #4287
2021-04-09 14:45:17 +02:00
Johannes Meyer e671324ddb tests: Don't use deprecated assertion `assertRegExp()` 2021-04-09 12:38:43 +02:00
Johannes Meyer bc1c967dec BaseTestCase: Inherit from `Mockery\Adapter\Phpunit\MockeryTestCase` 2021-04-09 12:38:43 +02:00
Johannes Meyer cb87190138 tests: Add `:void` return type declarations 2021-04-09 12:38:43 +02:00
Alexander A. Klimov eff10ec613 ApplicationBootstrap#setupErrorHandling(): migrate error handler to PHP 8
... as recommended here:
https://www.php.net/manual/de/migration80.incompatible.php

refs #4287
2021-04-09 12:37:03 +02:00
Johannes Meyer 0d35a1774d SingleValueSearchControl: Add failure message for empty results 2021-04-07 15:59:03 +02:00
Johannes Meyer a6507daaaf SingleValueSearchControl: Allow to pass html as labels 2021-04-07 15:58:25 +02:00
Johannes Meyer 314ec5256c PrivilegeAudit: Show missing initiators in inheritance paths 2021-04-07 14:30:14 +02:00
Johannes Meyer b5334a063e PrivilegeAudit: Show missing restrictions if only parents restrict 2021-04-07 14:30:14 +02:00
Johannes Meyer 698e7bcfa4 SingleValueSearchControl: Show magnifier icon in the text input 2021-04-07 14:30:14 +02:00
Johannes Meyer 074f08db4e Introduce view `Icinga\Web\View\PrivilegeAudit` 2021-04-07 14:30:14 +02:00
Johannes Meyer ab90b3e0a1 Role: Add param `$cascadeUpwards` also to public method `grant()` 2021-04-07 14:30:14 +02:00
Johannes Meyer 9d10424f97 AdmissionLoader: Set additional user information `assigned_roles` 2021-04-07 14:30:14 +02:00
Johannes Meyer f4da973f68 Auth: Only reload CSS upon login if the theme **really** changed
fixes #2233
2021-04-07 14:30:14 +02:00
Johannes Meyer 0aa4e25723 Auth: Introduce method `setupUser()`
This was previously part of method `setAuthenticated()`.
Split up to allow external usage.
2021-04-07 14:30:14 +02:00
Johannes Meyer 153e9b4ade SingleValueSearchControl: Add support for groups and meta data 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 a4a658974d AuthBackendController: Inherit from `ipl\Web\Compat\CompatController` 2021-04-07 14:30:14 +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 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 59e6ec4035 JavaScript: Ensure that `$baseFiles` are loaded first if minified 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 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
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 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 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
Johannes Meyer c0541d70e9 Move permission match code from class `User` to `Role` 2021-02-18 11:11:39 +01:00
Johannes Meyer 60d61a8fe7 Response: Only apply `showCompact=1` to redirects for GET requests 2021-02-09 15:59:42 +01:00
Johannes Meyer f4a8599193 Introduce and utilize class `Icinga\Util\LessParser` 2021-01-25 09:15:53 +01:00
Johannes Meyer 500696c767 Response: Set `showCompact=1` on a redirect url..
..if compact layout has been requested.

refs #4164
fixes Icinga/icingadb-web#125
2021-01-15 16:50:00 +01:00
Johannes Meyer accbd9d847 ApplicationStateController: Initalize `$autorefreshInterval`
Instead of defining it with the setter. This prevents the
user's preferences from having an effect on this route.
2021-01-15 15:08:48 +01:00
Johannes Meyer f1dd69d877 ActionController: Set autorefresh interval on view as late as possible
This allows to initialize property `$autorefreshInterval` and have it
take an effect on non-XHR requests.
2021-01-15 15:08:48 +01:00
Johannes Meyer 765557af69 ActionController: Drop new param in method `setAutorefreshInterval()` 2021-01-15 15:08:48 +01:00
Johannes Meyer 67de8a079a js: Initialize all types of input enrichments 2021-01-14 11:57:24 +01:00
Johannes Meyer cb24eafdb5 JavaScript: Load behavior `complete.js` 2021-01-14 11:57:05 +01:00
Johannes Meyer cb9ccc68f7 Url: Drop unwanted boolean parameters in method `onlyWith()` 2021-01-13 17:20:22 +01:00
Sukhwinder Dhillon 53388a3940 Change __toString() to get encoded url string 2020-12-07 13:27:14 +01:00
Johannes Meyer 7c58b3ced1 LessCompiler: Add support for variable exports by modules
Using the following in a module's less file:

```
@exports: {
  @foo: "bar";
  @number: 4;
  @color: red;
};
```

will export the variables `@foo`, `@number` and `@color` into the global
scope. Though, exports are not able to override already defined variables.
That's still reserved for themes.
2020-12-02 10:51:01 +01:00
Johannes Meyer a33317aeab Module: Don't emit warnings for module assets
resolves #4286
2020-12-01 09:44:56 +01:00
Johannes Meyer 629a39ebbe Cli/Loader: Configure the used `Screen` to use STDERR
Otherwise we still colorize output if stderr is being
redirected.
2020-11-30 15:35:20 +01:00
Alexander A. Klimov d7e3547c6e CLI: write errors to stderr 2020-11-30 15:35:20 +01:00
Alexander A. Klimov 81b19285a7 Make auto refresh interval configurable
refs #2819
2020-11-26 11:38:02 +01:00
Johannes Meyer 6956ec4450 Manager/Libraries: Don't try to compare versions if any version is sufficient 2020-11-24 15:31:11 +01:00
Johannes Meyer 79478fd2e1 Libraries: Return partial matches in method `get()`
This allows to reference libraries with only their
project name, not just together with the organisation
name.
2020-11-18 16:52:22 +01:00
Johannes Meyer be99703a67 Module: Deprecate asset support 2020-11-18 13:21:34 +01:00
Johannes Meyer a370a99fb4 cli: Allow to ignore module dependencies with `module enable --force` 2020-11-18 13:21:34 +01:00
Johannes Meyer 40c97d6a3e Libraries: Add method `get($name)` 2020-11-18 13:21:34 +01:00
Johannes Meyer 28c7c41b55 Manager: Don't enable modules which have unmet dependencies 2020-11-18 13:21:33 +01:00
Johannes Meyer aba8c4a8ba Manager: Add method `hasUnmetDependencies($name)` 2020-11-18 13:21:33 +01:00
Johannes Meyer baaf663db3 Module: Introduce new metadata field `Requires`
This is the successor of `Depends` and allows to
define dependencies for libraries and modules:

`Requires: <lib-name>[ (<ver>)][, <lib-name>[ (<ver>)]] ...`

or

```
Requires:
  Libraries: <name>[ (<ver>)][, <name>[ (<ver>)]] ...
  Modules: <name>[ (<ver>)][, <name>[ (<ver>)]] ...
```
2020-11-18 13:21:33 +01:00
Johannes Meyer 99b620983a Manager: Add method `has($name, $version = null)` 2020-11-18 13:21:33 +01:00
Johannes Meyer 0f485f1257 Libraries: Add method `has($name, $version = null)` 2020-11-18 13:21:33 +01:00
Johannes Meyer e9fa9d95dd JavaScript: Also optimize `define()` calls in module JS 2020-11-18 13:21:33 +01:00
Johannes Meyer 19e4eb6e1e Module: Add missing getter for property `jsdir` 2020-11-18 13:21:33 +01:00
Johannes Meyer 5a38977906 js: Add `define.js` 2020-11-18 13:21:33 +01:00
Johannes Meyer 220044277c webrouter: Serve lib assets at `lib/<lib-name>/<asset-path>` 2020-11-18 13:20:09 +01:00