12508 Commits

Author SHA1 Message Date
Florian Strohmaier
d2187c3716 Navigation: Remove menu-container wrapper 2019-12-06 15:36:34 +01:00
Florian Strohmaier
b819dd6881 CSS: Add sidebar layout 2019-12-06 15:36:34 +01:00
Florian Strohmaier
739dd50384 CSS: Set basic layout structure 2019-12-06 15:36:34 +01:00
Florian Strohmaier
204fd5d636 Body: Restructure layout markup 2019-12-06 15:36:34 +01:00
Florian Strohmaier
722cbfe47f CSS: Make body and #layout 100% of viewport 2019-12-06 15:36:34 +01:00
Johannes Meyer
b8f8187762 AuthBackendPage: Fix crash when external authentication is chosen
Only occurred due to PHP 7.4
2019-12-06 15:34:56 +01:00
Johannes Meyer
19dd4b93f1
Merge pull request #4019 from Icinga/fix/no-keyboard-control-for-toggle-sliders-4006
Make toggle sliders accessible
2019-12-05 16:30:40 +01:00
Johannes Meyer
4157821c89 IcingaCheckbox: Don't display:none the checkbox but add .sr-only to it 2019-12-05 16:12:41 +01:00
Johannes Meyer
d2596025ea
Merge pull request #4018 from Icinga/fix/invalid-filter-after-scheduling-multiple-checks-4001
hosts/services: Remove `*_active_checks_enabled` from a redirect's filter
2019-12-05 16:11:35 +01:00
Johannes Meyer
a6d2590666 hosts/services: Remove *_active_checks_enabled from a redirect's filter
Actually only a quick fix but who cares..
2019-12-05 15:42:47 +01:00
Johannes Meyer
cc08f7e11a
Merge pull request #4017 from Icinga/fix/external-authentication-3995
Fix external authentication
2019-12-05 15:40:47 +01:00
Johannes Meyer
668ae38497 ExternalBackend: Don't authenticate a user if REMOTE_USER is empty 2019-12-05 15:13:02 +01:00
Johannes Meyer
52df0eb399 navigation/dashboard: Fix that an item's properties are not rendered 2019-12-05 15:12:19 +01:00
Johannes Meyer
f49ac81e42
Merge pull request #4016 from Icinga/fix/exceptions-with-mysql-8-3740
Set `COLLATE 'latin1_general_ci'` for `latin1` charsets on MySQL connections
2019-12-05 14:46:54 +01:00
Johannes Meyer
d0857345d0 DbConnection: Set COLLATE 'latin1_general_ci' for latin1 charsets
MySQL 8+ seems a bit more strict now.
2019-12-05 14:18:17 +01:00
Johannes Meyer
51b05ce39a
Merge pull request #4015 from Icinga/feature/no-user-password-changes-3286
New permission `no-user/password-change`
2019-12-05 13:37:13 +01:00
Johannes Meyer
98e66b248b
Merge pull request #4014 from Icinga/feature/no-monitoring-contacts-3973
New permission `no-monitoring/contacts`
2019-12-05 09:18:00 +01:00
Johannes Meyer
67cc81e49f AccountController: Prohibit password changes for users with no-user/password-change 2019-12-05 09:13:34 +01:00
Johannes Meyer
7ae3f187bd RoleForm: Add new app permission no-user/password-change 2019-12-05 09:12:59 +01:00
Johannes Meyer
bb7f1cd24b monitoring: Apply permission no-monitoring/contacts where applicable 2019-12-05 08:50:51 +01:00
Johannes Meyer
a9d5f2a6f0 monitoring: Provide new permission no-monitoring/contacts 2019-12-05 08:50:14 +01:00
Johannes Meyer
8519bb5d11 User: Don't return true if any permission is granted and * is required 2019-12-05 08:44:33 +01:00
Johannes Meyer
2829837191
Merge pull request #3993 from nbuchwitz/feature/hide-customvars
Introduce option to hide specific customvars in web
2019-12-04 14:48:02 +01:00
Nicolai Buchwitz
e7f965e70c fix sytax error (missing space after comma) 2019-12-04 13:06:26 +01:00
Nicolai Buchwitz
55104cba14 Introduce hide customvar option in monitoring view 2019-12-04 13:06:26 +01:00
Feu Mourek
8236b3baf0 Move form colours to the base.less 2019-12-04 11:35:25 +01:00
Johannes Meyer
3900929a0d
Merge pull request #4013 from Icinga/feature/support-for-php-7.4-4009
Support for PHP 7.4
2019-12-04 11:35:04 +01:00
Johannes Meyer
7b488d7f93 swag: Fix violations of PSR-12
PSR-2 has been deprecated and phpcs v3.5.3
now checks for the successor PSR-12
2019-12-04 11:28:08 +01:00
Johannes Meyer
8b4d5f37c5 travis: Raise phpcs version to 3.5.3 to support PHP 7.4 2019-12-04 11:28:08 +01:00
Johannes Meyer
d855c837ba travis: Test on xenial, trusty has no PHP 7.4 2019-12-04 11:28:08 +01:00
Johannes Meyer
5e82c401db travis: Remove php 7.0, test everything on php 7.1 and 7.2 2019-12-04 11:28:08 +01:00
Johannes Meyer
9c94b9cde7 vendor/lessphp: Check for an array before accessing an offset
https://www.php.net/manual/en/migration74.incompatible.php#migration74.incompatible.core.non-array-access
2019-12-04 11:28:08 +01:00
Johannes Meyer
369ffa758e zend/Registry: Don't override method offsetExists()
It's not possible to use `array_key_exists()` on objects anymore
(https://www.php.net/manual/en/migration74.deprecated.php#migration74.deprecated.core.array-key-exists-objects)
and since the referenced bug (http://bugs.php.net/bug.php?id=40442)
only applied to PHP 5.2.0 it's now obsolete.
2019-12-04 11:28:08 +01:00
Johannes Meyer
d34909bbac vendor/lessphp: Avoid curly braces to access array offsets
https://www.php.net/manual/en/migration74.deprecated.php#migration74.deprecated.core.array-string-access-curly-brace
2019-12-04 11:28:08 +01:00
Johannes Meyer
0a44bbc804 vendor/Zend: Avoid curly braces to access array offsets
https://www.php.net/manual/en/migration74.deprecated.php#migration74.deprecated.core.array-string-access-curly-brace
2019-12-04 11:28:08 +01:00
Johannes Meyer
67dd439673 vendor/HTMLPurifier: Avoid curly braces to access array offsets
https://www.php.net/manual/en/migration74.deprecated.php#migration74.deprecated.core.array-string-access-curly-brace
2019-12-04 11:28:08 +01:00
Johannes Meyer
0442c4f0ab View: Ignore setting short_open_tag
Adjusting class `Zend_View_Stream` according to https://www.php.net/manual/en/migration74.incompatible.php#migration74.incompatible.core.stream-wrappers
didn't work. (*syntax error, unexpected end of file* after every last php statement in phtml files)

So.. since `<?= ?>` instructions are permanently available since PHP 5.4 (https://www.php.net/manual/en/language.basic-syntax.phptags.php)
we'll just omit using a custom stream wrapper now.
2019-12-04 09:35:24 +01:00
Johannes Meyer
7bc1893a24 LdapConnection: Don't utilize ldap_control_paged_result() on PHP 7.3+
https://www.php.net/manual/en/migration74.deprecated.php#migration74.deprecated.ldap
2019-12-04 09:33:13 +01:00
Johannes Meyer
e93fbdb802 travis: Test on PHP 7.4 as well 2019-12-04 09:30:47 +01:00
Johannes Meyer
9b1dc44130 FilterEditor: Also trim trailing whitespace from search values
Simple values are wrapped with `*` anyway, so trimming all
whitespace doesn't pose an issue. (Even if inserted intentionally)
This doesn't apply to qualified search values. (e.g. `host = abc `)

resolves #4002
2019-12-03 10:33:00 +01:00
Florian Strohmaier
1755c01390 base.less: Add gray-semilight var 2019-11-28 15:32:38 +01:00
Johannes Meyer
cc065b949b js: Use custom event icinga-init to trigger initial render events
The `load` event is not really only fired *after all shared resources are loaded*.
Just Chromium ensures this event is fired only after `ready` and `DOMContentLoaded`.
FF, IE and Safari don't so we need our own post-init event: `icinga-init`
2019-11-26 16:00:21 +01:00
Johannes Meyer
48098a2830 js: Don't initialize modules using a beforerender event
`beforerender` is already too late. Module initialization
done using an event handler is wrong anyway. It's some
kind of bootstrapping after all and should be performed
by parts of the code which is directly responsible for
DOM content handling of modules. (i.e. loader.js)

This change though introduces a side-effect which was
not the case previously: Nested `.container` elements
trigger `rendered` events now. I've introduced this to
ensure we're also lazy loading modules and let them
handle their `rendered` events right after a redirect
which rerendered the layout. (Only `#layout` got a
`rendered` event then prior to this change)
2019-11-21 09:55:20 +01:00
Johannes Meyer
7f78c1a8a8 js: Properly initialize modules and don't trigger rendered events twice
Cleans up how our JS initializes module javascript. Previously the `rendered`
event only got fired upon page load if a module got loaded as well. This is
now decoupled and `rendered` events fire for all containers and the entire
layout upon page load.

Notable changes:
* A `load` event initializes modules and triggers `rendered` on `.container` and `#layout` elements
* Module javascript (module.js) is still lazy loaded but with a `beforerender` event, not `rendered`
* Previously `#layout` received a `rendered` event during bootstrapping, this is not the case anymore
* Initial search value preservation now got its own handler `events.onRenderedMenu()`
* Initial dashlet loading now git its own handler `events.loadDashlets()`
2019-11-20 16:22:56 +01:00
Johannes Meyer
47c2a8bdc1 js: Utilize utils.objectsEqual() in actiontable.select() 2019-11-20 16:22:56 +01:00
Johannes Meyer
2dbf9ca8ab js: Properly parse/decode query params in utils.parseParams() 2019-11-20 16:22:56 +01:00
Michael Friedrich
4d790e70fc
Merge pull request #4003 from Icinga/feature/docs-installation-el8-sles15
Docs: Update installation for RHEL/CentOS 8 and SLES 15
2019-11-20 16:10:50 +01:00
Michael Friedrich
3c8c2ba3e9 Docs: Update installation for RHEL/CentOS 8 and SLES 15 2019-11-20 15:58:10 +01:00
Johannes Meyer
5f739deea3 loader.js: Enhance __BACK__ handling 2019-11-05 15:04:23 +01:00
Johannes Meyer
da565f4d16 loader.js: Refresh left twice in case right has been closed..
..if the redirect target is `__BACK__`
2019-11-04 17:25:05 +01:00