Commit Graph

2654 Commits

Author SHA1 Message Date
Thomas Gelf 88f7dc0d0f controllers, library: small fixes 2018-06-23 09:05:10 +02:00
Thomas Gelf 35815e0dad library: lot's of cleanup 2018-06-19 13:47:19 +02:00
Bruno Mendola c2d54f9de9 Import check commands from Core API
fixes #1527
2018-06-15 16:19:40 +02:00
Thomas Gelf 9069a7f916 Objects, FormLoader: exceptions, exceptions 2018-06-14 14:08:04 +02:00
Thomas Gelf 17321e4a5f ImportExport: return number of imported objects 2018-06-14 13:43:52 +02:00
Thomas Gelf 1ca41c5b10 CloneSyncRuleForm: prepare for multi-db use 2018-06-14 13:41:13 +02:00
Thomas Gelf ee48f28302 CloneImportSourceForm: use the correct field 2018-06-14 13:06:00 +02:00
Thomas Gelf 33ff71ce94 Url: hide Icinga Exceptions 2018-06-14 10:14:08 +02:00
Thomas Gelf 810e873566 Objects: throw not found 2018-06-14 08:59:48 +02:00
Thomas Gelf 0026e7fd61 ipl/Web: avoid Icinga Exceptions 2018-06-14 08:51:40 +02:00
Thomas Gelf 3d1ccf17a3 ActionController: add exception to phpdoc 2018-06-14 08:41:43 +02:00
Thomas Gelf 75268479ca RestApi: cleanup, exceptions, phpdoc 2018-06-14 08:33:11 +02:00
Thomas Gelf 6b67662de7 Command: cleanup 2018-06-13 21:34:27 +02:00
Thomas Gelf 1bc77ad7c6 CloneSyncRuleForm: show a meaningful message 2018-06-12 21:45:29 +02:00
Thomas Gelf 6325798fca ImportSource: make method public for now 2018-06-12 21:45:11 +02:00
Thomas Gelf fc58e506ea CloneImportSource: one more cloning feature 2018-06-12 22:01:34 +02:00
Thomas Gelf b2f97dd2bb Sync: fix phpcs complaints 2018-06-12 21:31:42 +02:00
Thomas Gelf f91c6f211d ObjectPreview: link related objects
fixes #1521
2018-06-12 21:27:18 +02:00
Thomas Gelf df4c3b925c ObjectsController: add missing loadForm
fixes #1518
2018-06-12 20:20:25 +02:00
Thomas Gelf 5fe976e059 SyncRuleForm: initial implementation 2018-06-11 23:13:03 +02:00
Thomas Gelf c587067a33 ipl\Html\Form: tweak error handling 2018-06-12 20:00:38 +02:00
Thomas Gelf 5e0b237d2d SyncRule: add import-related methods 2018-06-11 21:45:21 +02:00
Thomas Gelf 0735ed0aa1 SyncProperty: allow priorities, set source name 2018-06-11 21:29:59 +02:00
Thomas Gelf 85651a241a ImportSource: implement property modifier import 2018-06-12 19:57:19 +02:00
Thomas Gelf f9ca11eb50 ImportRowModifier: allow custom priority for...
...new objects (important when importing them)
2018-06-11 17:37:54 +02:00
Thomas Gelf 67763dc5a9 ImportExport: add fail-safe import, WIP 2018-06-11 17:16:01 +02:00
Thomas Gelf 98099ad48a DbObjectWithSettings: allow to pass objects 2018-06-11 16:48:20 +02:00
Thomas Gelf cdcf99592b ServiceCommand: allow to delete single services
fixes #719
2018-06-08 22:02:27 +02:00
Thomas Gelf 28320fe6bb FormDataFilter: use auto-suggestion for groups...
...drop ugly method in IcingaObjectGroup and clean up some files
2018-06-08 20:45:02 +02:00
Thomas Gelf e3c086c78c FormDataFilter: cleanup 2018-06-08 18:52:12 +02:00
Thomas Gelf 310ae7e623 IcingaService: cleanup, IcingaObject: introduce...
...getDefaultZone
2018-06-08 18:36:15 +02:00
Thomas Gelf 00db8a6204 IcingaObject: reduce duplicate code 2018-06-08 18:11:42 +02:00
Thomas Gelf a80bc13f39 Form: elements is a ElementContainer property 2018-06-08 16:54:13 +02:00
Thomas Gelf ea8452d0e9 ConfigHealthItemRenderer: be fail-safe
Icinga Web 2 should catch errors, but seems that it doesn't
2018-06-08 16:54:04 +02:00
Thomas Gelf d2cfa20385 DirectorDb: push missing changes 2018-06-08 00:07:14 +02:00
Thomas Gelf aaaa8aed0a DbSelectorForm: allow to switch Director database
fixes #1498
2018-06-07 23:50:31 +02:00
Thomas Gelf 885f76715a ActionController: cleanup 2018-06-07 23:37:28 +02:00
Thomas Gelf 35c2c034fd ipl: add ipl\Html\Form prototype 2018-06-07 23:32:39 +02:00
Thomas Gelf 450f40b402 IcingaConfig: remove superflous parameter
fixes #1514
2018-06-07 14:33:00 +02:00
Thomas Gelf 7efeab674c (Host)ServiceTable: always show blacklist details
It can affect also single services
2018-06-05 11:06:43 +02:00
Thomas Gelf b475aa841e IcingaConfigHelper: granular macro-rendering
fixes #685
fixes #1272
fixes #1482
2018-06-04 18:18:32 +02:00
Thomas Gelf c5d05454ca RepositoryByObjectHelper: prepare for auth, clean 2018-06-04 08:48:30 +02:00
Thomas Gelf c6de458235 GroupMembershipResolver: respect own groups and...
...inherited ones

fixes #1464
fixes #1449
2018-06-04 08:48:21 +02:00
Thomas Gelf 927591501c Export: first bunch of exportable Director objects
ImportSource, SyncRule, Datafield and more

refs #1409
2018-06-01 18:44:07 +02:00
Thomas Gelf 5d4408862a Settings, CoreApi: allow to configure package name
fixes #1497
2018-06-01 16:27:00 +02:00
Thomas Gelf c401f5356c HostServiceTables: drop useless group()
fixes #1509
2018-06-01 14:55:14 +02:00
Thomas Gelf a005ac3228 IcingaCommand: pathes prefixed with Windows ENV
...variables are considered to be absolute

fixes #1469
2018-06-01 11:38:28 +02:00
Thomas Gelf 808a9df13e StartupLogRenderer: parse lines with timestamps
This is required to support Icinga v2.9.0

fixes #1478
2018-06-01 11:34:57 +02:00
Thomas Gelf 31a6ab0cf2 IcingaHostServiceTable, others: cleanup, fix...
...blacklist-styling
2018-05-30 00:45:08 +02:00
Thomas Gelf c2519b65b5 GroupMembershipResolver: cosmetics 2018-05-29 23:45:47 +02:00
Thomas Gelf f3056c6f2c DirectorObjectForm: templates have no choices
fixes #1363
2018-05-29 23:15:17 +02:00
Thomas Gelf cf5b7c7001 CoreApi: old patch, unused code 2018-05-29 22:22:13 +02:00
Thomas Gelf 8c432285e7 Various: stick with default exceptions...
...IDE hints are annoying
2018-05-29 21:31:43 +02:00
Markus Frosch 8b7b9024c4 IcingaConfig: Remove library import from generated config
`library "methods"` was when Director set the actual execution method
for commands.
2018-05-29 17:41:09 +02:00
Thomas Gelf 15729cb28a PropertyModifierJsonDecode: use existing helper 2018-05-29 17:35:34 +02:00
Markus Frosch f19a41d11a php-diff: Fix undefined offset in Array Renderer
See https://github.com/chrisboulton/php-diff/pull/51
2018-05-29 17:22:52 +02:00
Thomas Gelf 02dfac1b8b Revert "Export: first bunch of exportable Director objects"
Wrong branch, not yet for the master

This reverts commit 721700c62f.
2018-05-29 12:40:14 +02:00
Thomas Gelf 721700c62f Export: first bunch of exportable Director objects
ImportSource, SyncRule, Datafield and more

refs #1409
2018-05-29 12:34:18 +02:00
Thomas Gelf 2045f98016 IcingaServiceForm: allow to define apply rules...
...based on templates.

fixes #1359
2018-05-28 15:50:18 +02:00
Thomas Gelf 193c575e3a HostServiceBlacklist: small fixes
refs #907
2018-05-25 19:57:52 +02:00
Thomas Gelf f88e318dce Merge branch 'feature/sync-cleanup' 2018-05-25 19:51:26 +02:00
Thomas Gelf c3fd50003a IcingaService: cosmetics, render single hosts...
...with equals, multiple ones as "in array"

refs #907
2018-05-25 19:48:27 +02:00
Thomas Gelf 35f1f09b84 Tables: fix host/service blacklist queries 2018-05-25 19:11:50 +02:00
Thomas Gelf 8073128d0e IcingaServiceForm: add blacklist/delete button...
...and a lot of related boilerplate to get the "blacklist" feature working
2018-05-25 19:11:50 +02:00
Thomas Gelf ba5e595fd0 IcingaService: phpdoc 2018-05-25 19:11:50 +02:00
Thomas Gelf 853cecb14e HostServiceBlacklist: first implementation, schema
...and related changes

refx #907
2018-05-25 19:11:50 +02:00
Thomas Gelf facaeb8aac Sync: cleanup, improve array handling, split logic
This should for example fix sync for multiple group memberships
2018-05-25 19:11:50 +02:00
Thomas Gelf 5a8c785b7c dipl: align with ipl-html, stop using deprecated
...method Html::escapeForHtml
2018-05-25 19:09:42 +02:00
Thomas Gelf ec0beb5de8 HostServiceRedirector: fix switched urls 2018-05-25 18:20:56 +02:00
Thomas Gelf 29bcfff07f Sync: fix properties for IcingaObject instances 2018-05-25 13:29:32 +02:00
Thomas Gelf bd80862153 Sync: cleanup, improve array handling, split logic
This should for example fix sync for multiple group memberships
2018-05-25 13:29:32 +02:00
Thomas Gelf 9c9a5b5b93 GroupMembershipResolver: last inserted ID is int...
...for PostgreSQL - as it should be everywhere :-/

fixes #1500
2018-05-25 13:14:03 +02:00
Thomas Gelf 728bbe523e ConfigJob: do not re-deploy the same checksum
fixes #978
2018-05-23 11:31:23 +02:00
Thomas Gelf 3673daaa3c Html: allow to wrap elements, needed for forms 2018-05-23 08:30:37 +02:00
Thomas Gelf 799a332c22 Html\Attributes: callbacks for setters and getters 2018-05-23 08:22:06 +02:00
Thomas Gelf 14cd540ce9 HostServiceRedirector: add applied service sets 2018-05-23 08:18:57 +02:00
Thomas Gelf 0f4fd471e2 HostServiceRedirector: new implementation for...
...service links. Fallback route and more

fixes #689
2018-05-23 00:47:30 +02:00
Thomas Gelf d5807495a0 TemplateTree: load inheritance for unstored...
...objects even if the given parent is not a template. This happens with fake
objects while managing overrides
2018-05-22 14:40:56 +02:00
Thomas Gelf d8b1207254 Sync: it's not yet possible to let single...
...objects fail

refs #1048
2018-05-22 12:17:22 +02:00
Markus Frosch 49afcd5855 Sync: Only prefetch relations for IcingaObject
So DatalistEntry can be synced

fixes #1048
2018-05-22 11:08:03 +02:00
Thomas Gelf b773b90ae5 JobDetails: fix message "characters are not yet.." 2018-05-17 08:36:39 +02:00
Thomas Gelf 05bc9e5bfc CustomvarTable, SyncRunDetails: small fixes 2018-05-09 13:18:10 +02:00
Thomas Gelf df83c9abad ipl: no more Html::__callStatic, add phpdocs 2018-05-08 19:54:00 +02:00
Thomas Gelf b1fd0bd9ed ObjectTabs: show 'inspect' only for endpoints...
...with an ApiUser reference

fixes #1293
2018-05-08 16:25:38 +02:00
Thomas Gelf 319b000407 ipl: phpdoc, cleanup 2018-05-06 09:08:37 +02:00
Thomas Gelf 01c3a553ba ipl: drop obsoleted components 2018-05-05 18:49:58 +02:00
Thomas Gelf df7c77a0f6 ipl-related fixes 2018-05-05 18:29:17 +02:00
Thomas Gelf 988319dcf6 ipl-related: use HtmlDocument instead of Html 2018-05-05 01:25:24 +02:00
Thomas Gelf 955695682d Use BaseHtmlElement and more 2018-05-05 01:11:55 +02:00
Thomas Gelf f1480359da ipl: even more changes 2018-05-05 01:04:25 +02:00
Thomas Gelf 4f8c60bb46 various: cleanup, sop using deprecated methods 2018-05-05 00:24:49 +02:00
Thomas Gelf 403df971a1 dipl: align with ipl, first step 2018-05-05 00:18:45 +02:00
Thomas Gelf be0d41459f ipl: code cleanup 2018-05-04 22:55:24 +02:00
Thomas Gelf 30c6bf1b95 ipl: relax attribute name checks 2018-05-04 22:54:48 +02:00
Thomas Gelf a033e411c6 Sync: preserve _override_servicevars
fixes #1307
2018-05-04 22:14:07 +02:00
Thomas Gelf 99ddb9266b Commands: show usage over templates and objects
fixes #335
2018-05-04 18:02:05 +02:00
Thomas Gelf 6add437dce IcingaCommand: do not allow to delete while in use
fixes #1443
2018-05-04 13:12:23 +02:00
Thomas Gelf 8e4b88195b ObjectsTableCommand: formatting 2018-05-04 12:47:51 +02:00
offsides 38a56f68fe Assign: add "is not set" operator
fixes #1436
2018-05-04 12:42:39 +02:00
Thomas Gelf cd2de241dd Commands: allow to filter by usage
fixes #1480
2018-05-04 11:03:42 +02:00
Thomas Gelf 4c77a32ee0 IcingaConfig: remove hard-coded global zone
Anyways, this line should be obsolete
2018-05-04 08:45:32 +02:00
Markus Frosch c2fcd407cc ObjectApplyMatches: Prepare filters only once
So that it can be re-used on multiple objects during sync.
2018-04-27 16:05:39 +02:00
Markus Frosch 0b7bb123cd GroupMembershipResolver: Parse filters before iterating through objects
Massive performance improvement! Up to 10x!
2018-04-27 16:05:39 +02:00
Markus Frosch f6cf1a4245 GroupMembershipResolver: Improve Benchmark output 2018-04-27 16:05:39 +02:00
Markus Frosch 3b812fab7d Sync: Make sure to prefetch relations for objects
This can avoid a lot of queries for zones, commands, timeperiods.
2018-04-27 16:05:39 +02:00
Markus Frosch c4a95fd64e Sync: Implement Benchmark for the Sync process
Note: This disables redirect-on-success for the forms, so you can see
the benchmark result.
2018-04-27 16:05:39 +02:00
Thomas Gelf fb3dc92b36 ImportRunBasedPurgeStrategy: performance boost...
...for some older MariaDB/MySQL versions
2018-04-27 15:58:13 +02:00
Heinz Wiesinger 525b3164c0 vendor: Update php-diff with fixes
Version is based on:
* 3cb3f7ce6b
* and https://github.com/chrisboulton/php-diff/pull/50

Also see SOURCE
2018-04-16 08:59:59 +02:00
David McBride 8e28f7f9c8 Avoid failing when attempting to render NULL column-set
PHP 7.2 is stricter about invoking count() with parameters which
are not countable:

 https://secure.php.net/manual/en/migration72.incompatible.php

This case is triggered in QueryBasedTable, for example when reviewing
the Activity Log:

 count(): Parameter must be an array or an object that implements Countable (QueryBasedTable.php:115)
 #0 [internal function]: Icinga\Application\ApplicationBootstrap->Icinga\Application\{closure}(2, 'count(): Parame...', '/usr/share/icin...', 115, Array)
 #1 /usr/share/icingaweb2/modules/director/library/vendor/ipl/Web/Table/QueryBasedTable.php(115): count(NULL)
 #2 /usr/share/icingaweb2/modules/director/library/vendor/ipl/Html/BaseElement.php(133): dipl\Web\Table\QueryBasedTable->renderContent()
 #3 /usr/share/icingaweb2/modules/director/library/vendor/ipl/Html/Html.php(171): dipl\Html\BaseElement->render()
 #4 /usr/share/icingaweb2/modules/director/library/vendor/ipl/Html/BaseElement.php(105): dipl\Html\Html->render()
 #5 /usr/share/icingaweb2/modules/director/library/vendor/ipl/Html/BaseElement.php(133): dipl\Html\BaseElement->renderContent()
 #6 /usr/share/icingaweb2/modules/director/library/vendor/ipl/Html/Html.php(259): dipl\Html\BaseElement->render()
 #7 /usr/share/icingaweb2/modules/director/library/vendor/ipl/Zf1/SimpleViewRenderer.php(47): dipl\Html\Html->__toString()
 #8 /usr/share/icingaweb2/modules/director/library/vendor/ipl/Zf1/SimpleViewRenderer.php(66): dipl\Zf1\SimpleViewRenderer->render()
 #9 /usr/share/icingaweb2/library/vendor/Zend/Controller/Action/HelperBroker.php(272): dipl\Zf1\SimpleViewRenderer->postDispatch()
 #10 /usr/share/icingaweb2/library/vendor/Zend/Controller/Action.php(518): Zend_Controller_Action_HelperBroker->notifyPostDispatch()
 #11 /usr/share/php/Icinga/Web/Controller/Dispatcher.php(76): Zend_Controller_Action->dispatch('activitiesActio...')
 #12 /usr/share/icingaweb2/library/vendor/Zend/Controller/Front.php(937): Icinga\Web\Controller\Dispatcher->dispatch(Object(Icinga\Web\Request), Object(Icinga\Web\Response))
 #13 /usr/share/php/Icinga/Application/Web.php(389): Zend_Controller_Front->dispatch(Object(Icinga\Web\Request), Object(Icinga\Web\Response))
 #14 /usr/share/php/Icinga/Application/webrouter.php(109): Icinga\Application\Web->dispatch()
 #15 /usr/share/icingaweb2/public/index.php(4): require_once('/usr/share/php/...')
 #16 {main}

Perhaps over-simplistically, this failure can be avoided by first
checking the countability of the relevant value with isset().
2018-04-05 16:55:16 +02:00
Thomas Gelf 473bbd40c4 IcingaHostForm: fix premission checks on new Hosts
refs #1451
2018-03-29 16:46:41 +02:00
Thomas Gelf 5dab1d3bb8 IcingaHostForm: logic belongs here
refs #1451
2018-03-28 18:38:36 +02:00
Thomas Gelf 8c7897ee46 DirectorObjectForm: do not allow to store...
...IcingaHost objects you wouldn't be allowed to see afterwards

fixes #1451
2018-03-28 18:32:52 +02:00
Thomas Gelf 3e46602802 Json: wrap json_encode to emit errors
refs #1445
2018-03-28 18:16:30 +02:00
Thomas Gelf 2f68489cac DirectorDb: do not fail when unconfigured and...
...not use by Controllers
2018-03-28 17:55:57 +02:00
Thomas Gelf 56c5ac0846 DirectorDb: ConfigurationError has been missing 2018-03-28 17:52:21 +02:00
Thomas Gelf c5375c968b IcingaObjectGroups: add missing Exception use 2018-03-28 17:50:41 +02:00
Thomas Gelf 92535ab702 DbConnection: add isMysql() helper method 2018-03-28 17:49:59 +02:00
Thomas Gelf fcbc2db71b IcingaObject: resolve groups for flattened objects
refs #1449
2018-03-28 17:47:48 +02:00
Da Rold Valentina 08e38f2c75 Hook for custom field in Director form 2018-03-28 15:46:21 +02:00
Heinz Wiesinger 6889c63a69 Fix settings name in PropertyModifierMakeBoolean. 2018-03-16 14:14:21 -04:00
Markus Frosch 1e7f0f962b IcingaObjectInspection: Properly read and handle config_checksum
This adapts behavior from DeploymentLogTable

fixes #1420
2018-03-11 14:20:09 +01:00
Markus Frosch 034319dbe7 ImportedrowsTable: Render complex data types in pre tag
Just like ImportsourceHookTable.

refs #1325
2018-03-11 14:10:50 +01:00
Thomas Gelf 78bb9c706a FlappingSupport: dedicated object extension 2018-02-28 09:24:39 +01:00
Thomas Gelf e02b283157 IcingaObject: remove unused code 2018-02-28 08:56:25 +01:00
Thomas Gelf 1bff61eeb5 SyncRule: just a type hint 2018-02-25 18:19:38 +01:00
Thomas Gelf 7525a7b0f6 ObjectsTable: allow to filter any type by name
Not used yet, will make it easy to create restrictions like
director/host/filter-by-name = "*.dev.example.com"
2018-02-25 18:15:12 +01:00
Thomas Gelf ad88207d84 ObjectsTable: cleanup 2018-02-25 18:08:40 +01:00
Thomas Gelf d5fe207efd DbObjectWithSettings: sort settings by name 2018-02-25 18:06:12 +01:00
Thomas Gelf 64e1f463a2 Command: allow to override dbResourceName
fixes #1410
2018-02-25 18:03:46 +01:00
Thomas Gelf 22eb5911f0 CustomVariables: readability, IDE hints 2018-02-25 17:58:11 +01:00
Thomas Gelf feb80480ea QueryBasedTable: remove a superfluous empty line 2018-02-25 17:47:20 +01:00
Thomas Gelf 45209b99c3 DbObject: remove useless property 2018-02-25 17:45:17 +01:00
Thomas Gelf f5b4769f6e ObjectsCommand: cleanup 2018-02-25 17:44:46 +01:00
Thomas Gelf 3da917a400 IcingaObjectHandler: correctly name methods
fixes #1373
2018-02-25 17:39:51 +01:00
Thomas Gelf 29baa3698e Dashlet: reset stats before getting the first one
fixes #766
2018-02-25 17:30:05 +01:00
Markus Frosch c4e9f7a8b3
Merge pull request #1401 from wols/master
Fix list and fetch help texts
2018-02-21 22:57:34 +01:00
Thomas Gelf bd40160391 IcingaObjectInspection: deal with CheckResults...
...without a command property

fixes #1402
2018-02-21 11:34:19 +01:00
WOLS 47a6ae74b2
Fix list and fetch help texts 2018-02-20 21:58:36 +01:00
Markus Frosch 63a98c05a9 ServiceActions: Show inspect link on all services
Not only services of hosts managed by Director. This aligns behavior
with HostActions itself.
2018-02-20 16:25:58 +01:00
Thomas Gelf 41e379b008 IcingaObject: getRenderingZone() must succeed...
...even when no config is given

refs #1394
2018-02-20 15:56:17 +01:00
Thomas Gelf 56f44b9ff1 IcingaObjectInspection: improve Inspect look&feel
fixes #264
2018-02-20 15:40:49 +01:00
Thomas Gelf 54a98d3a34 IcingaEndpoint: getDescriptiveUrl() - new helper 2018-02-20 15:36:48 +01:00
Thomas Gelf ec1b3ff8d1 Health: disconnect from DB on destruction 2018-02-20 15:35:39 +01:00
Thomas Gelf 0ae1ed1319 Img: allow for data urls 2018-02-20 14:39:58 +01:00
Thomas Gelf 5a5cd9ba1e BaseElement: easier way to override isVoid 2018-02-20 14:38:32 +01:00
Thomas Gelf 20bcbdccf7 ipl/Attributes: allow a prefix, helps with data-* 2018-02-20 14:36:01 +01:00
Thomas Gelf a515e02953 FilterByNameRestriction: test and unify behavior
fixes #1392
2018-02-20 13:45:19 +01:00
Thomas Gelf 47c7c1b5f2 SyncUtils: fix wrong phpdoc 2018-02-20 12:58:07 +01:00
Thomas Gelf e879b02875 KickstartHelper: import Event Commands
fixes #1389
2018-02-20 12:39:37 +01:00
Thomas Gelf 081ddf5e85 ImportSource: flip modifier/row application loop
...and fix property modifier application order
2018-01-26 16:06:35 +01:00
Thomas Gelf 0056a90414 SyncUtils: allow property names ending with a dot 2018-01-26 13:49:16 +01:00
Thomas Gelf dba98b7c3f PropertyModifierRejectOrSelect: add dedicated NULL
...support

refs #1371
2018-01-26 13:10:18 +01:00
Thomas Gelf 3a1d09cfb1 ImportsourceHookTable: add new classes, deal with
...empty rows
2018-01-26 13:06:54 +01:00
Thomas Gelf 8dfe78b8bf ImportSource: reject by key
refs #1369
2018-01-26 13:04:32 +01:00
Thomas Gelf 765b08f597 Import: apply modifiers only when fetching data 2018-01-26 13:01:39 +01:00
Thomas Gelf 7fa2d91d37 Html/Text: fix wrong type in hint 2018-01-25 13:17:19 +01:00
Thomas Gelf 33f04d9e52 PropertyModifierHook: add missing methods, cleanup
refs #1369
2018-01-25 13:14:33 +01:00
Thomas Gelf 53432c6d5c ImportModifiers: friendlier errors on PHP 7.x 2018-01-25 13:13:42 +01:00
Thomas Gelf 81053e4efa ImportSource: reset rejection after using a...
...property modifier
2018-01-25 12:53:03 +01:00
Thomas Gelf 6bb6e3a613 RejectOrSelect: new black/white-listing Import...
...Property Modifier

fixes #1371
2018-01-25 12:52:12 +01:00
Thomas Gelf 8ed76d4888 ImportSource: allow Property Modifiers to reject
fixes #1369
2018-01-25 12:16:49 +01:00
Thomas Gelf 14e5aa8da4 ImportSource: unify duplicate logic
fixes #1370
2018-01-25 10:58:59 +01:00
Thomas Gelf 9f6ba150f6 Health: sort results by name 2018-01-25 10:17:08 +01:00
Thomas Gelf 2f3e8c406f HealthCommand: add PluginOutputBeautifier 2018-01-22 10:01:29 +01:00
Thomas Gelf 4dcf545ab2 Html/Attribute: allow boolean, cosmetics...
...and also allow for colons in attribute names
2018-01-22 09:58:00 +01:00
Markus Frosch 129be222c9 SimpleQueryPaginationAdapter: Fix getOffset interface
Breaks pagination further than page 2.

fixes #1273
2018-01-19 12:35:27 +01:00
Markus Frosch 07d830b06f IcingaObject: Render flapping thresholds downwards compatible
Settings are ignored in Icinga < 2.8.0 and a warning is logged.

refs #330
2018-01-15 10:10:33 +01:00
Markus Frosch 6c52a26281 DirectorObjectForm: Add flapping settings
refs #330
2018-01-15 10:10:33 +01:00
Markus Frosch 4902f694c1 flapping: Migrate to Icinga 2.8.0 flapping properties
Existing property is dropped now, it never was used in director before.

refs #330
2018-01-15 10:10:33 +01:00
Markus Frosch b9190755a6 IcingaObject: Support numeric properties
Similar to intervalProperties
2018-01-15 10:10:33 +01:00
Broskavka c825d0b441 Update NamePattern.php 2017-12-14 00:25:49 +01:00
Thomas Gelf 619717903b DirectorObjectForm: commit missing method
refs #1331
2017-12-13 09:46:53 +01:00
Thomas Gelf 062efd9919 NamePattern: fix msg
refs #1331
2017-12-12 15:55:15 +01:00
Thomas Gelf 550959d858 NamePattern: allow to combine multiple patterns
fixes #1331
2017-12-12 15:49:22 +01:00
Thomas Gelf 5d52eaefd0 IcingaObject: check for modified properties...
...once again after resolving unresolved related properties.

fixes #1315
2017-12-11 18:31:19 +01:00
mpursley 284c187ee3 Update ChoicesDashlet.php 2017-11-27 01:43:30 +01:00
Dirk Goetz 7fb216db4c PropertyModifier: add capitalize
fixes #427
2017-11-24 11:00:06 +01:00
Dirk Goetz 777f5ff71a PropertyModifier: add urlencode
fixes #1070
2017-11-24 10:29:41 +01:00
Thomas Gelf dbe8aeeed3 ObjectsTableService: do not show set members
fixes #1299
2017-11-23 16:43:52 +01:00
Thomas Gelf 0c4e18533b PropertyModifierXlsNumericIp: new implementation
fixes #1296
2017-11-17 01:32:22 +01:00
Markus Frosch efc36fdbb8 ObjectController: Don't let DeploymentLink break the interface on errors
This can happen whenever the deployment related config of Zones,
Endpoints or ApiUsers is incomplete or missing.

This should not break forms needed to fix the problem.
2017-11-15 12:04:12 +01:00
Thomas Gelf 24515e708f Health: typo 2017-11-10 10:33:03 +01:00
Thomas Gelf 21dff9d6d9 Health: more granular details 2017-11-10 10:19:44 +01:00
Thomas Gelf eb087bc8b2 Health: fix message for pending deployments 2017-11-10 10:15:46 +01:00
Thomas Gelf 78b5cfdbcb Health: fix erronous method call 2017-11-10 10:14:29 +01:00
Thomas Gelf 781a4db763 HealthCheck: add a 'deployment' section
fixes #1280
2017-11-10 09:59:56 +01:00
David Ulbricht a133706996 Health: check $jobs for jobs, not $sources
refs #1278
2017-11-09 09:34:49 +01:00
Thomas Gelf 9f6771f09e CLI: health check plugin
fixes #1278
2017-11-08 15:31:56 +01:00
Thomas Gelf 11bd7215f5 PrefetchCache: respect CustomVar rendering type
fixes #1257
2017-10-24 11:15:36 +02:00
Thomas Gelf 9e193dbc6b Sync: do not deal with 'disabled' for objects...
...without such properties (e.g. Sets)
2017-10-13 11:41:59 +02:00
Thomas Gelf 618c51cd69 HostGroupsDashlet: hosts permission is not enough
fixes #1237
2017-10-12 17:17:47 +02:00
Thomas Gelf 6490283647 IcingaService: single objects w/o host must fail
fixes #1236
2017-10-12 17:01:20 +02:00
Thomas Gelf 0e10545175 ServiceSet: allow controlled/restricted access
fixes #1235
2017-10-12 16:54:31 +02:00
Thomas Gelf fb72a6e293 ObjectsController: allow admins to download JSON
fixes #1226
2017-10-11 10:55:20 +02:00
Thomas Gelf bab0ebc6c1 AdditionalTableActions: add showsql to the GUI
fixes #1227
2017-10-11 10:51:43 +02:00
Thomas Gelf 76ac1e104e configuration.php: add director/showsql permission
fixes #1225
2017-10-10 17:33:33 +02:00
Thomas Gelf 8f7e9e9ecd Sync: do not touch 'disabled' on merge unless...
...it has been defined as a Sync Property

fixes #1223
2017-10-10 16:32:57 +02:00
Thomas Gelf c9c59b3f03 MemoryLimit: rewrite for PHP 7.1+
fixes #1222
2017-10-10 14:52:15 +02:00
Thomas Gelf 996918aafa MemoryLimit: dedicated class, tests
fixes #1220
2017-10-10 14:35:32 +02:00
Thomas Gelf d1e116a5a1 ipl: rename to dipl
fixes #1217
2017-10-09 15:23:27 +02:00
Jesse Reppin 4d37ee001f ImportSourceLdap: fix typo
fix typo in ImportSourceLdap form Properties
2017-10-09 10:56:34 +02:00
Thomas Gelf 3c082ae9e8 IcingaObjectsHandler: force correct content-type
...for Rest API responses
2017-10-07 18:04:22 +02:00
Thomas Gelf 4caf3fce51 ActionController: allow for fluent use of...
...assertOneOfPermissions
2017-10-07 17:25:18 +02:00
Thomas Gelf 5388520551 FieldLoader: fix 'show based on filter' for...
...CustomVariables of type Array

fixes #983
2017-10-07 17:14:54 +02:00
Thomas Gelf 1c0b06a1f8 GroupMembershipResolver: ignore objects scheduled
...for removal when refreshing group membership cache

fixes #1126
2017-10-04 21:06:22 +02:00
Thomas Gelf 223f0fec61 ServiceTemplateUsage: forgot one comment
fixes #1210
2017-10-04 13:50:28 +02:00
Thomas Gelf 6980544208 ServiceTemplateUsage: temporarily disable link...
...for sets

refs #1122
2017-10-04 06:57:57 +02:00
Thomas Gelf 5c53f9a3ba ExtensibleSet: fix "remove" button handling
fixes #1100
2017-10-04 06:56:11 +02:00
Thomas Gelf 45eaf0e987 IcingaServiceForm: add NamePattern validator 2017-10-02 08:45:32 +02:00
Thomas Gelf d41fbbf634 KickstartHelper: sort by parent, not inheritance
fixes #918
2017-09-28 20:20:58 +02:00
David Ulbricht 727cc22bc4 Dependencies: add usage overview and table 2017-09-28 14:50:44 +02:00
Thomas Gelf 147946e965 Dependencies: hide single objects, mark the...
...feature as experimental, so we can merge it to master
2017-09-28 11:02:13 +02:00
Thomas Gelf c277a5be53 IcingaDependency: just whitespace 2017-09-28 11:02:13 +02:00
Thomas Gelf 2e483fefba IcingaDependency: render parent_service_by_name...
...as a string

fixes #1136
2017-09-28 11:02:13 +02:00
Thomas Gelf 2f78d52c58 IcingaDependency: rule is not a DbObject here
fixes #1137
2017-09-28 11:02:13 +02:00
Thomas Gelf e45962c1b9 various: shorten long line, spacing, readability 2017-09-28 11:02:13 +02:00
Marc DeTrano 708edfdebc Updates: clean code for whitespace/standards...
...issues as reported by Travis. Add requirement for parent and child host
fields when setting up a Dependency Object (these fields are not necessarily
needed for Templates or Apply Rules). Renamed new table field to
'parent_service_by_name'... which is a bit more descriptive or what that
field is intended for.
2017-09-28 11:01:27 +02:00
Marc DeTrano 6bea1eff41 Implement Icinga Dependency Configuration. 2017-09-28 11:01:27 +02:00
Thomas Gelf 8a6480e40e ObjectsTabs: fix typo 2017-09-28 11:01:02 +02:00
Thomas Gelf 07c4d3ceaa IcingaTemplateChoice: helper method for roles...
...and initial support for "main" choice
2017-09-27 20:44:50 +02:00
Thomas Gelf cd2ed5cfae schema, IcingaTemplateChoice: add columns for...
...upcoming features
2017-09-27 20:41:41 +02:00
Thomas Gelf e40c1b83de QuickSubForm: just an IDE hint 2017-09-27 08:38:04 +02:00
Thomas Gelf 748c3668e2 ExtensibleSet: drop-down-like button for drop-...
...down-like elements
2017-09-27 08:34:13 +02:00
Thomas Gelf 5b1c143a1c IcingaObjectsHandler: improve benchmark messages 2017-09-26 11:46:35 +02:00
Thomas Gelf f8d128b33f PropertyModifierArrayFilter: allow string values
fixes #1186
2017-09-18 10:35:34 +02:00
Thomas Gelf e950bb3395 Objects: ship templates via REST API
fixes #1185
2017-09-18 10:23:36 +02:00
Thomas Gelf 8f1f3ec699 ZfQueryBasedTable: allow for ZfAdapter instances 2017-09-17 14:06:07 +02:00
Thomas Gelf aee72c558c DirectorObjectForm: add inherited groups to main...
...display group
2017-09-17 13:50:13 +02:00
Thomas Gelf 1e43ca5d99 IcingaObject: add hasBeenRenamed()...
...and a hint for IDE's
2017-09-14 10:20:45 +02:00
Thomas Gelf 3f4903b889 GroupMembershipResolver: skip templates
Motivation: templates are not considered resolved objects
2017-09-13 17:20:02 +02:00
Thomas Gelf b9d06f3015 IcingaHostForm: show (and link) applied groups 2017-09-13 16:40:04 +02:00
Thomas Gelf b87c3bb0f6 TranslationDummy: remove unrelated code from form 2017-09-13 11:01:45 +02:00
Thomas Gelf 9be31df544 DirectorObjectForm: do not catch onSuccess failure
...base clase already does
2017-09-13 10:50:34 +02:00
Thomas Gelf f7353b6628 IcingaObject: allow to load Choices by type
fixes #1129
2017-09-12 15:51:33 +02:00
Thomas Gelf 77290c3bf3 IcingaConfigHelper: always render $user.*$ and...
...$notification.*$ as macros

fixes #1176
2017-09-12 15:47:42 +02:00
Thomas Gelf bc8af635e8 DirectorObjectForm: show inherited integers
fixes #812
2017-09-12 15:29:39 +02:00
Thomas Gelf 53242894a8 CustomVariables: extend overrides to allow...
...overrides from multiple templates to be merged

fixes #813
2017-09-12 12:19:05 +02:00
Thomas Gelf c27fd86f4c QueryColumnsFromSql: use correct DB
fixes #1173
2017-09-12 00:26:19 +02:00
Thomas Gelf 9fa641b27c ObjectTabs: do not offer preview for services...
...when making part of a Set
2017-09-11 16:07:17 +02:00
Thomas Gelf 804008673a IcingaCloneObjectForm: clone sets with services...
...and fix redirection

fixes #852
2017-09-11 16:02:39 +02:00
Thomas Gelf e76665741e ImportSourceSql: cache query column list
fixes #1071
2017-09-11 15:30:00 +02:00
Thomas Gelf 313dba50cb QuickForm: get unique error helpers from DOF 2017-09-11 15:27:37 +02:00
Thomas Gelf e752d7f7ae Changelog: prepare for v1.4.0 2017-09-11 15:17:29 +02:00
Thomas Gelf 424fc31363 IcingaObject: unset imports, will be set later on 2017-09-06 02:27:27 +02:00
Thomas Gelf 32fe4877fd ImportsourceHookTable: fix indentation 2017-09-06 02:04:38 +02:00
Thomas Gelf 6d562eef12 IcingaObject: do not clear imports on merge...
...when merged object has no imports
2017-09-06 01:31:14 +02:00
Thomas Gelf c0a08584ef ImportsourceHookTable: use root columns, improve
...styling

fixes #243
fixes #1153
2017-09-05 10:57:37 +02:00
Thomas Gelf 9cfc6bb46d IcingaCommandArgument: be defensive, format could
...be missing

fixes #1151
2017-09-05 10:22:01 +02:00
Thomas Gelf 7cd307ea53 IcingaCommandArgument: skip default for compact 2017-09-04 12:50:37 +02:00
Thomas Gelf 04a72fbc5a ExtensibleSetElement: no autocomplete for...
...existing options - might be confusing
2017-09-04 12:27:48 +02:00
Thomas Gelf 71057ef47a DirectorObjectForm: do not set imports from...
...choices when there are no such.

fixes #1111
2017-09-03 10:41:57 +02:00
Thomas Gelf f74cb93533 ActionController: handle view=compact
fixes #1133
2017-09-03 09:35:09 +02:00
Thomas Gelf 4c46f07f2e Arguments: externalize, improve code, fix issues 2017-09-03 07:46:04 +02:00
Thomas Gelf 8407f23474 toPlainObject: resolve is boolean
Doesn't change behavior, but null is confusing here.
2017-09-01 10:04:21 +02:00
Thomas Gelf 19e51e15e4 IcingaObject: special treatment for groups
refs #1146
2017-08-31 22:42:25 +02:00
Markus Frosch 0d00d5d97b Add SyncTest abstract TestCase
So we have a common class to test various syncs
2017-08-30 16:40:12 +02:00
Markus Frosch e9546f68bf Sync: Respect the fields used in filter_expression of the SyncRule
So that you can filter by fields not used in properties, or in property filters.

fixes #1130
refs #876
2017-08-30 16:40:12 +02:00
Thomas Gelf a9b5624212 DataTypeSqlQuery: allow Array data type
fixes: #444
2017-08-28 10:59:26 +02:00
Thomas Gelf d37af09190 DataTypeDatalist: allow Array destination type
fixes #1080
2017-08-28 10:59:19 +02:00
Thomas Gelf 2ef865392b ObjectsTableZone: no object type filter...
...and drop 'Templates' tab, as it is useless here

fixes #1125
2017-08-28 10:59:12 +02:00
Thomas Gelf a3ac1b8eef IcingaServiceSet: fix tests 2017-08-28 06:16:00 +02:00
Thomas Gelf 20fe291433 IcingaServiceSet: do not allow for objects without
...a host
2017-08-28 06:09:37 +02:00
Thomas Gelf c2afacc11b IcingaServiceSet: createWhere() look for template
...in case no host_id has been set
2017-08-28 06:09:37 +02:00
Thomas Gelf 2f1d963c1c IcingaObject: ask imports for name list...
...when we already have it available
2017-08-28 06:09:37 +02:00
Thomas Gelf ee247ab383 test/php: provide DB mostly everwhere...
...as template repository would otherwise complain. Also, fit new boolean
true rendering
2017-08-26 16:17:55 +02:00
Thomas Gelf fd400977f2 IcingaObject: do not resolve imports when...
...resolving related objects
2017-08-26 16:17:07 +02:00
Thomas Gelf 75fb983622 Forms: transform addHtmlHint into ipl-aware code 2017-08-25 18:12:39 +02:00
Thomas Gelf 84b6196e79 QuickBaseForm: allow for ipl elements in Html 2017-08-25 17:30:29 +02:00
Thomas Gelf a6222e2abb AssignRenderer: special treatment for not in group
fixes #686
2017-08-25 16:22:22 +02:00
Thomas Gelf bab28b1755 IcingaService: force object_type=template when...
...loading a service by name

fixes #1094
2017-08-25 16:10:59 +02:00
Thomas Gelf f005f54c72 TemplateUsageTable: add missing headers
fixes #1119
2017-08-25 15:37:09 +02:00
Thomas Gelf 8edb7e50fb DirectorObjectForm: do not sort sets when removing
...entries

fixes #1099
2017-08-25 15:16:16 +02:00
Thomas Gelf f8445ca1ef IcingaObject: fix ApiUser preview rendering
fixes #1117
2017-08-25 15:03:12 +02:00
Thomas Gelf 1b160c6c35 IcingaObject: opt in for recursion
fixes #1118
2017-08-25 15:00:07 +02:00
Thomas Gelf 1a08b90c7a IcingaTemplateRepository: fetch parents, not...
...ancestors per default

fixes #1114
2017-08-25 14:22:49 +02:00
Thomas Gelf 8f15fe3c0e Host applied services: route links to _self 2017-08-25 13:47:04 +02:00
Thomas Gelf 9fbc523ffd ConfigController: explicitly forbid all REST API
...calls to methods not being exported.

fixes #1113
2017-08-25 12:33:36 +02:00
Thomas Gelf 99eb6acd63 AssignRenderer and Form: "is true/set" operator
refs #339
fixes #729
fixes #739
2017-08-25 12:08:11 +02:00
Thomas Gelf fbcf206b3a IcingaObjectFieldLoader: cleanup 2017-08-25 10:52:02 +02:00
Thomas Gelf d65114e783 TableCommand: do not search for object_type
fixes #1109
2017-08-25 10:51:21 +02:00
Thomas Gelf bd0ccc6ca4 FieldLoader: do not add NULL id to list of objects
fixes #1102
2017-08-25 09:28:47 +02:00
Thomas Gelf 5450a00c78 IcingaService: handle use_agent=n by explicitly...
...rendering command_endpoint = null

fixes #921
fixes #1013
2017-08-25 08:50:38 +02:00
Thomas Gelf e05c3a8556 IcingaHostForm: fix bug with no available tpl...
...and improve element ordering

fixes #1108
2017-08-24 22:42:01 +02:00
Thomas Gelf f55a672d48 IcingaObject: accept 'disable' on merge()
fixes #1104
2017-08-24 16:35:09 +02:00
Thomas Gelf 6a60b3942c DirectorObjectForm: allow for string imports...
...and deal with empty choices
2017-08-23 23:52:59 +02:00
Thomas Gelf fa286d1fcb IcingaTemplateRepository: list names 2017-08-23 23:52:00 +02:00
Thomas Gelf 15c26b97db IcingaObject: fix "origins" names when showing...
...inherited properties

fixes #1093
2017-08-22 17:47:27 +02:00
Thomas Gelf b3ae6ea68b ExtensibleSet: make sure to stop on errors...
...that have been "manually" set
2017-08-22 17:43:25 +02:00
Thomas Gelf 2968b541ca KickstartHelper: make sure to not run into...
...modified TemplateTree. Need something better here I guess.

fixes #1095
2017-08-22 17:26:19 +02:00
Thomas Gelf 7ae1927de4 PropertyModifierCombine: fix typo 2017-08-22 17:20:34 +02:00
Thomas Gelf 69607ada3c SyncRule: switch priority order, migrate DB
fixes #1077
2017-08-22 17:10:49 +02:00
Thomas Gelf 1815ef1521 RestApi: fix response codes
fixes #1092
2017-08-22 16:47:57 +02:00
Thomas Gelf 2f2b898a01 ObjectsTableService: also show services on Host...
...templates as being valid

fixes #1091
2017-08-22 16:31:43 +02:00
Thomas Gelf ab69e1c55f DirectorObjectForm: improve error handling
Template resolving has been changed, adjust error handling accordingly
2017-08-22 10:13:37 +02:00
Thomas Gelf 8154d433d4 ActionController: initialize ipl translator
fixes #1076
2017-08-22 00:13:41 +02:00
Thomas Gelf 07834361d0 Sync: try to get deferred group membership...
...resolver straight

fixes #1038
2017-08-22 00:05:08 +02:00
Thomas Gelf 10391cab8e ExtensibleSetElement: implement optgroups
fixes #1037
2017-08-21 22:54:38 +02:00
Thomas Gelf 76a790300f Attributes: adjust method signature 2017-08-21 22:54:02 +02:00
Thomas Gelf 2109d138d5 IcingaTimeperiodRangeForm: delete through the...
IcingaTimePeriod and it's Ranges

fixes #1089
2017-08-21 22:41:37 +02:00
Thomas Gelf fc9425ee89 TemplateTree: only use 'unstored' logic when...
...imports have been modified

fixes #1088
2017-08-21 21:53:47 +02:00