4185 Commits

Author SHA1 Message Date
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