Commit Graph

12761 Commits

Author SHA1 Message Date
Florian Strohmaier d579428ff9 CSS: Restrict #content-wrapper height to window 2019-12-06 15:36:34 +01:00
Florian Strohmaier cfbeb26354 JS: Disable fixControls() 2019-12-06 15:36:34 +01:00
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