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
Johannes Meyer
ed7763c379
Introduce class `Icinga\Web\Controller\StaticController`
2020-11-18 13:20:09 +01:00
Johannes Meyer
e44ea3b34c
Introduce class `Icinga\Application\StaticWeb`
2020-11-18 13:20:09 +01:00
Johannes Meyer
a9d6482533
Javascript: Load JS assets from loaded libraries
2020-11-18 13:20:09 +01:00
Johannes Meyer
c49a811fb5
Library: Add getters for the different asset paths
2020-11-18 13:20:09 +01:00
Johannes Meyer
ad9099509d
StyleSheet: Load css assets from loaded libraries
2020-11-18 13:20:09 +01:00
Johannes Meyer
c2769bd177
Library: Add accessors for assets
2020-11-18 13:20:09 +01:00
Johannes Meyer
84c23fe92b
Library: Add accessors for meta data
2020-11-18 13:20:09 +01:00
Johannes Meyer
a60f511cfc
bootstrap: Load external libraries
2020-11-18 13:20:09 +01:00
Johannes Meyer
a2bdc8074f
Introduce classes `Libraries` and `Library`
2020-11-18 13:20:09 +01:00
Alexander A. Klimov
74d5d69085
Url::fromPath(): var_export() input value to complain about
...
... not to hide its type.
2020-11-18 09:40:44 +01:00
Johannes Meyer
d918d6c86f
Merge pull request #4235 from Icinga/fix/sparkline-js-performance
...
Drop sparkline.js and render inline-pies as SVG
2020-11-18 09:37:31 +01:00
Jorge Vallecillo
865e4b9b2a
Fix typos: consecutive use of 'the'
2020-11-18 09:26:39 +01:00
Johannes Meyer
7c1886430b
Controller: Don't accept `0` as default page limit
2020-11-16 13:29:49 +01:00
Johannes Meyer
8c73f0462e
InlinePie: Utilize SVG to render charts instantly
...
Inline pie charts usually don't contain that much
data and the SVG should be rather small in size.
So it doesn't hurt rendering them instantly.
2020-09-28 16:40:39 +02:00
Johannes Meyer
37fb455977
js: Drop sparkline lib and behavior
2020-09-28 16:39:54 +02:00
Johannes Meyer
77244b2c1b
Raise version to v2.8.2
2020-08-19 11:03:31 +02:00
Johannes Meyer
c3d329bd48
Raise version to 2.8.1
2020-06-29 10:30:58 +02:00
Johannes Meyer
b288d86e91
DbQuery: Return non-string args as is in `valueToTimestamp()`
...
fixes #4182
2020-06-24 14:09:13 +02:00
Johannes Meyer
4d173e6746
DbUserBackend: Lowercase usernames before fetching password hashes
...
The BINARY cast to make trailing spaces significant (#4030 ) also
made these queries case-sensitive. This wasn't identified at the
time because the query itself wasn't case-insensitive, but the
default collation on the `name` column. (Tests sometimes are the
perfect mitigation for this...)
fixes #4184
2020-06-24 14:08:30 +02:00
Johannes Meyer
e95fac3ff1
Raise version to 2.8.0
2020-06-08 10:51:35 +02:00
Johannes Meyer
62dd0b3f1e
ActionController: Fix that view variable `compact` is undefined
...
refs #4164
2020-06-08 09:26:36 +02:00
Johannes Meyer
a240e306ed
Preserve/Remove param `showCompact` instead of `view`
2020-06-04 08:50:41 +02:00
Johannes Meyer
6cf9f19048
ActionController: Shift parameter `view` if its value is `compact`
2020-06-04 08:50:41 +02:00
Johannes Meyer
60c3fd6406
FilterEditor: Use a new url from request when redirecting searches
...
Creating a new url has the benefit that all framework params are
still there. `$this->url()` however returns a url that's already
mangled and parameter preservation does not work for framework
params.
This is not quite the correct fix. But the entire parameter
handling here is way too convoluted.
2020-06-04 08:50:41 +02:00
Johannes Meyer
46c6201a21
Url: Add method `onlyWith()`
2020-06-04 08:50:41 +02:00
Eric Lippmann
49eb245580
CLI: Also register assets
...
Because assets are not registered in the CLI context,
CLI actions cannot access the full style sheet.
This is necessary for Icinga Reporting though in order to send PDF reports.
2020-06-04 07:31:02 +02:00
Eric Lippmann
fce2858beb
LDAP: Add option to disable server side sorting
...
We automatically detect whether the server supports server side sorting
and sort manually if that is not the case. But there are LDAP servers
which report that they support this feature in general but have it
disabled for certain fields.
If we send the server side control for any field that has server side
sort disabled, the LDAP server will abort the query.
With the new configuration option it is possible to disable server side
sorting and it has precedence over our automatic detection.
Since this is a very special LDAP server configuration, there is no GUI
option for this.
2020-05-25 11:08:13 +02:00
Johannes Meyer
c2f380cf9b
Dashlet: Use `showCompact` instead of `view=compact`
...
Allows dashlets to use their own value for parameter `view`
2020-05-19 16:46:58 +02:00
Johannes Meyer
c40d134ea5
ApplicationBootstrap: Use L10n locales in `getLocaleDir()` if available
2020-05-11 17:05:23 +02:00
Johannes Meyer
8b8094e9cc
dashboards: Increase size of dashlets in no-js envs
2020-04-15 09:42:36 +02:00
Johannes Meyer
5ed41868d9
css: Fix no-script apply styles in non-inline forms
2020-04-15 09:42:36 +02:00
Alexander A. Klimov
568619b92e
Form: allow checkboxes to be required
2020-04-09 14:03:21 +02:00
Feu Mourek
c2568548cf
Add appropriate aria labels to donut graphs
2020-04-09 08:36:29 +02:00
Johannes Meyer
d72bdc2c32
Raise version to 2.8.0-rc1
2020-03-13 10:40:35 +01:00
Eric Lippmann
e11feb81f5
Don't fail with an exception if module.info is flawed
2020-03-12 14:26:15 +01:00
Eric Lippmann
3361cac59a
CLI: Setup fake auth
...
Since version 2.7.x CLI actions load all enabled modules automatically.
This includes launching configuration.php and run.php. Though code
in those files should be restricted to a supported set of functions,
module devs may write any code here. If a module requires authentication
in those files, CLI actions fail because there is no auth possible.
With this patch, we setup a fake user named "cli" w/o any permission when
running CLI actions.
2020-03-02 14:16:28 +01:00
Eric Lippmann
990a5e4d61
Introduce Auth::setUser()
2020-03-02 14:15:53 +01:00
Johannes Meyer
3a66b0a950
FilterExpression: Pass used delimiter to `preg_quote`
...
fixes #4090
2020-03-02 08:39:46 +01:00
Johannes Meyer
eb674509b4
BaseTestCase: Read db host and port from env vars if available
2020-01-21 14:13:15 +01:00
Johannes Meyer
05135e716e
Merge pull request #4049 from Icinga/fix/pdfexport-hooks-may-cause-bad-loading-times
...
Fix pdfexport hooks may cause bad loading times
2020-01-16 09:02:31 +01:00
Johannes Meyer
69d15824fb
Merge pull request #4048 from Icinga/fix/server-side-window-handling
...
Fix server side window handling
2020-01-16 08:57:11 +01:00
Eric Lippmann
73a4d8ac31
WebBaseHook: Make setView() fluent
2020-01-14 16:06:22 +01:00
Eric Lippmann
dd500578c9
Url: Fix @return hints
...
Before, sublcasses of Url suffered from @return Url hints. This is
@return static now.
2020-01-14 14:26:14 +01:00
Johannes Meyer
8da37e5ca2
Merge pull request #4044 from Icinga/fix/pdf-export-error-handling
...
Fix pdf export error handling
2020-01-14 11:13:01 +01:00
Johannes Meyer
6a8f17faf2
OutputFormat: Just provide the pdf export if there's a hook available
...
Calling `isSupported()` is bad here since there may be IO involved.
2020-01-14 11:01:53 +01:00
Johannes Meyer
29aaa363b4
Pdf: Utilize an pdfexport hook without calling `isSupported()`
...
If it's not supported, users should disable the module. If there
are multiple hooks supported at some point we need to touch this
again anyways. So that should suffice for now.
2020-01-14 10:59:01 +01:00
Johannes Meyer
9fe43dda5f
ActionController: Drop method `handlerBrowserWindows()`
2020-01-14 10:14:02 +01:00
Johannes Meyer
855bb8ae72
Properly handle window id's and container id's
2020-01-14 10:14:02 +01:00