Commit Graph

2850 Commits

Author SHA1 Message Date
Thomas Gelf 91fc186077 ScheduledDowntimes: remove templates for now 2019-04-11 11:17:58 +02:00
Thomas Gelf 8106a6ab6e ScheduledDowntime, Form, activity: tweak links 2019-04-11 08:58:19 +02:00
Thomas Gelf 9a21ace300 IcingaObject: scheduled downtime awareness
This is not optimal, but that's how it works right now
2019-04-11 02:53:31 +02:00
Thomas Gelf 54b62c7179 ApplRulesTable: allowto link with names 2019-04-11 02:53:31 +02:00
Thomas Gelf 5a36735400 ObjectsController: allow to override ApplyRulesTbl 2019-04-11 02:53:31 +02:00
Thomas Gelf 3ac99d6be3 IcingaScheduledDowntime: fix rendering 2019-04-11 02:53:10 +02:00
Thomas Gelf 0178bb4718 IcingaScheduledDowntimeRangeTable: introduce, use 2019-04-11 02:53:10 +02:00
Thomas Gelf cb3d13ba3b IcingaObjectFilterHelper: clean up exceptions 2019-04-11 02:53:10 +02:00
Thomas Gelf 90c5a007da IcingaConfig: deploy scheduled downtimes 2019-04-11 02:53:10 +02:00
Thomas Gelf b8f0237708 IcingaScheduledDowntimeRanges: fix property name 2019-04-11 02:53:10 +02:00
Thomas Gelf 9d17984750 QuickForm: get rid of ProgrammingError 2019-04-11 02:34:14 +02:00
Thomas Gelf 12c74df38c DirectorObjectForm: do not require imports...
...for scheduled downtimes
2019-04-11 02:34:14 +02:00
Thomas Gelf b1bf17569b IcingaScheduledDowntime: changdefault zone 2019-04-11 02:34:14 +02:00
Thomas Gelf 5e19d3bada BaseFormElement: move attribute callbacks to...
...dedicated methods, this allows to override them
2019-04-11 02:34:14 +02:00
Thomas Gelf e7fc4d3009 IcingaScheduledDowntime: render object header 2019-04-11 02:34:14 +02:00
Thomas Gelf 6f790dd118 IcingaScheduledDowntimeForm: assignment elements 2019-04-11 02:34:14 +02:00
Thomas Gelf c72b51c538 ScheduledDowntimes: a bunch of url-related changes 2019-04-11 02:34:14 +02:00
Thomas Gelf 0c2cb9e484 ScheduledDowntimes: controllers, first form 2019-04-11 02:34:14 +02:00
Thomas Gelf 34cb7524bc Dashboard: add scheduled downtimes 2019-04-11 02:34:14 +02:00
Thomas Gelf 219958d93f IcingaScheduledDowntime: cleanup, modernize 2019-04-11 02:34:14 +02:00
Thomas Gelf 2615446572 ScheduledDowntime: initial implementation
refs #347
2019-04-11 02:34:14 +02:00
Markus Frosch fb421d3756
Merge pull request #1816 from Icinga/feature/activity-log
Improve ActivityLog for services and servicesets
2019-04-10 13:52:38 +02:00
Markus Frosch 6d4475d89a ActivityLogInfo: Display extra info when objects are related
* Service to Host or ServiceSet
* Set to Host
2019-04-10 13:24:09 +02:00
Markus Frosch 1e5f6b4f76 IcingaServiceSet: Refactor config rendering for sets
* A header is now always rendered and includes assign and description
* Diff is now visible for sets
2019-04-10 13:24:04 +02:00
Markus Frosch db00f1bfc4 ObjectController: Use objects table name to search history
This was mainly a problem for IcingaServiceSet and others that may have
a capital letter where the table name is split by `_`
2019-04-10 10:39:05 +02:00
Markus Frosch cd9d93de3e ActivityLog: Show proper diffs for service of sets
fixes #1287
2019-04-10 10:35:34 +02:00
Markus Frosch c5a79c6e88 ImportSourceHookTable: Apply modifiers when fetching data
This will make sure applying modifiers before initializing the
ArrayDatasource.

Before this change counting and pagination was broken with Black and
Whitelist.
2019-04-09 21:31:40 +02:00
Thomas Gelf ad9b624e92 ImportSourceRestApi: allow to override url 2019-04-05 08:14:58 +02:00
Thomas Gelf ed352ed8cc ImportSourceRestApi: respect SSL + Proxy settings 2019-04-04 15:18:59 +02:00
Thomas Gelf ba3ce7cd17 ImportSourceRestApi: new generic Import Source
fixes #1818
2019-04-04 13:22:39 +02:00
Thomas Gelf 8c04de0a14 ImportsourceHookTable: show malformed data...
...plus some namespacing/cleanup
2019-04-04 13:22:39 +02:00
Markus Frosch 7b9e9f3a2f ActivityLog: Link back to the correct frontend for service and serviceset
fixes #1377
2019-03-28 18:21:38 +01:00
Markus Frosch 6c00d1735d IcingaArguments: Import Icinga DSL in arguments when available from baskets
Icinga 2 will still not dump this, but in Director Baskets it is included.
2019-03-28 11:59:32 +01:00
Markus Frosch 1713dee1c1 IcingaServiceSet: Delete host sets when deleting a set
This allows service sets to be deleted, including their children sets that
are assigned to hosts.

The UI forbids deleting those sets, but we can use it like this for CLI
and purging during sync.
2019-03-26 12:39:06 +01:00
Markus Frosch 2be27ddf3d IcingaObjectInspection: Show flat commands run by the core 2019-03-26 12:15:30 +01:00
Markus Frosch a6e32d763f ObjectPreview: Avoid linking a flat command attribute inside a command 2019-03-26 12:02:55 +01:00
Markus Frosch 6a79436af3 IcingaCommand: Allow command to be rendered as string
Icinga 2 allows this from the beginning.
2019-03-26 12:02:35 +01:00
Thomas Gelf 2aea3ad966 ImportSource: use sprintf() for InvalidArgumentEx
fixes #1810
2019-03-25 08:33:41 +01:00
Markus Frosch f60cb9a515 ConfigHelper: Ensure empty strings are written out quoted
In renderStringWithVariables()
2019-03-21 13:18:22 +01:00
Markus Frosch b3bd671d90 ObjectController: Fix phpcs lint 2019-03-19 15:43:20 +01:00
Markus Frosch de8654fc74 ObjectController: Fix back link for clone action with services 2019-03-19 15:29:08 +01:00
Markus Frosch 43e11879f7 ShowConfigFile: Fix object type being changed in output
fixes #1799
2019-03-08 14:44:44 +01:00
Markus Frosch b8e00e9b8c legacy: Ignore hosts that are disabled or blacklisted properly 2019-03-06 14:58:56 +01:00
Thomas Gelf 429be2dd76 IcingaServiceSet: fix rendering of Sets attached..
...to single Hosts

fixes #1789
2019-02-26 15:03:41 +01:00
Thomas Gelf 89d4af564e IcingaCommandArgument: align toPlainObject method 2019-02-15 01:36:33 +01:00
Thomas Gelf 8046510b1f ServiceapplyrulesController and related changes
fixes #1755
2019-02-15 01:29:43 +01:00
Thomas Gelf 85ed54f932 IcingaServiceSet: skip Service on single host...
...when blacklisted

fixes #1616
2019-02-15 00:48:05 +01:00
Thomas Gelf 7da91d747f IcingaService: blacklisting on Host Templates...
...is now supported

fixes #1707
2019-02-15 00:08:23 +01:00
Thomas Gelf 62c020171a IcingaCommand: import/export with fields
fixes #1747
2019-02-14 22:55:24 +01:00
Thomas Gelf 738e4eeaf1 IcingaTimePeriod: support Basket (ExportInterface)
fixes #1735
2019-02-14 22:42:21 +01:00
Thomas Gelf e961f0eb2a BasketUpload: ignore Datafields, they get special
...treatment
2019-02-14 21:57:10 +01:00
Thomas Gelf 640da36c62 IcingaDependency: allow for basket snapshots
fixes #1739
2019-02-14 21:54:11 +01:00
Thomas Gelf bd16756913 TemplateTree: new loop detection
fixes #1631
2019-02-13 21:43:37 +01:00
Thomas Gelf 15ae2da996 SimpleViewRenderer: fix indentation 2019-02-13 11:56:39 +01:00
Thomas Gelf d35ec0fee6 Tables, Redirector: add highlight for RO users
...and refactor some parts of the code

fixes #1785
2019-02-13 11:41:26 +01:00
Thomas Gelf 44e9ec2867 ProvidedHook/Monitoring: check permissions
fixes #1784
2019-02-13 10:22:40 +01:00
Thomas Gelf af2e86d8b8 host/findservice: new route to readonly view 2019-02-10 11:15:05 +01:00
Thomas Gelf 9237d34aa4 SimpleViewRenderer: deal with early errors
fixes #1742
2019-02-12 11:45:52 +01:00
Thomas Gelf 90b31fc6ca BasketSnapshot: fix upload issue
fixes #1782
2019-02-12 11:28:28 +01:00
Thomas Gelf 0139506494 AssignRenderer: fix and test NOT on root level
fixes #1777
2019-02-08 12:08:06 +01:00
Markus Frosch d2c00c5d39 IcingaService: Fix getOnDeleteUrl() for service sets
So that it redirects back to services of this serviceset.
2019-02-06 13:25:18 +01:00
Thomas Gelf b9c5f94589 IcingaConfigHelper: add missing reserved keywords
fixes #1765
2019-01-23 10:28:29 +01:00
Thomas Gelf 6d46a62085 BasketSnapshot.php: cast objects to an array...
...when uploading a basket
2019-01-22 16:59:20 +01:00
Thomas Gelf 92c05f49a3 ActivityLogTable: filter by host if given
In future we'll have better filtering possibilities, for now this scans all
rows with a matching service name in the table

fixes #1613
2019-01-11 12:24:29 +01:00
Thomas Gelf bb0bdeb737 SyncruleController: provide a preview tab
fixes #1754
2019-01-10 12:11:30 +01:00
Thomas Gelf b1d3bc9b4d Sync, IcingaObjectGroups: avoid generic Exceptions 2019-01-10 12:10:53 +01:00
Klaus Weidenbach 7b189ef3b1 Add PropertyModifierParseURL.
Provide a PropertyModifier for the PHP function parse_url().
2018-12-21 18:44:08 +01:00
Markus Frosch 58c0689005 Import: Improve exception info during storing rows 2018-12-14 09:58:55 +01:00
Thomas Gelf 35318396e8 Basket: do not fail when setting "Custom Selection"
fixes #1733
2018-12-12 10:42:31 +01:00
Thomas Gelf 0c2e3fe1b1 Basket: fix various little issues
fixes #1691
2018-12-10 17:52:56 +01:00
Thomas Gelf b67e0c0017 Basket: add UploadForm
fixes #1731
2018-12-10 15:36:59 +01:00
Markus Frosch 8f09afd31b
Merge pull request #1720 from Icinga/travis
ci: Update travis matrix and vendor test helpers
2018-12-03 11:02:28 +01:00
Thomas Gelf 44af7b3ae3 RestApiClient: do not send Connection: close...
...just throw away the curl handle. Otherwise Icinga v2.9 fails
2018-11-27 19:02:39 +01:00
Markus Frosch 91a62ffbee phpcs: Fix ObjectsController 2018-11-27 11:00:14 +01:00
Thomas Gelf b644a7c6a7 IcingaObject, ..WithSettings: fix Basket-related..
...problems
2018-11-26 00:12:13 +01:00
Thomas Gelf 7926d558ba DataList: load by name, fix basket 2018-11-26 00:11:35 +01:00
Thomas Gelf 264732ba98 Basket: fix adding single objects 2018-11-25 22:05:25 +01:00
Thomas Gelf a3a2b5425b SyncRule: cleanup, remove magic method access 2018-11-24 10:17:18 +01:00
Thomas Gelf 01f82b2d48 RestApiClient: use correct RuntimeException 2018-11-22 08:25:33 +01:00
Thomas Gelf ec11dea8a9 Basket: allow to download for non-primary Instance 2018-11-15 12:50:33 +01:00
Thomas Gelf bb0422c327 Basket: related fixes 2018-11-15 11:14:14 +01:00
Thomas Gelf 4352264b73 ImportSourceCoreApi: import flapping only for 2.8+
fixes #1652
2018-11-14 13:34:39 +01:00
Thomas Gelf 9aab203f59 CoreApi: disconnect after each request for...
...specific Icinga 2 versions

fixes #1695
fixes #1696
2018-11-14 13:25:07 +01:00
Thomas Gelf 6377ed61cc DbObject: remove binary column magic
Binary columns must be configured explicitly, binary keys are now also
possible

fixes #1702
2018-11-14 12:24:31 +01:00
Thomas Gelf 06f5db698f Basket: fix export for Basket and Notifications
fixes #1703
2018-11-14 11:17:44 +01:00
Thomas Gelf 24a7dbcac8 RestApi: remove outdated code, clean up, allow...
...to disconnect curl on demand or after each request
2018-11-14 08:19:25 +01:00
Thomas Gelf ad8a2e04f6 CoreApi: allow to fetch the Icinga Core version 2018-11-14 08:12:58 +01:00
Thomas Gelf 59ff61a277 IcingaUserGroup: do not prefer the global zone...
...but the master zone, like in former versions
2018-11-13 15:32:53 +01:00
Thomas Gelf f3b972e904 Clone..Form: fix for ImportSource and SyncRule 2018-11-08 08:31:38 +01:00
Thomas Gelf cf161f480c SubmitElement: always ignore value 2018-11-06 07:18:34 +01:00
Thomas Gelf 6b4c47a649 IcingaObject: rendered disabled objects should...
...not break comments

fixes #1263
2018-10-30 19:39:44 +01:00
Thomas Gelf 280ed4430e TemplateController: link non-template commands
fixes #1544
2018-10-30 19:08:18 +01:00
Thomas Gelf 46d3800014 IcingaCommandArgument: allow to change type
fixes #1640
2018-10-30 18:20:08 +01:00
Thomas Gelf dfdc7d327b FilterRenderer: support SimpleQuery
fixes #1670
2018-10-30 18:02:32 +01:00
Thomas Gelf a09bd4df95 TemplatesTable: allow to filter by usage
fixes #1339
2018-10-30 17:55:50 +01:00
Thomas Gelf d8184ce373 ZfQueryBasedTable: only search with wildcards...
...when no wildcard has been given
2018-10-30 16:42:55 +01:00
Thomas Gelf dce9770dcd ObjectController: fix adding single Host Templates
...to a Configuration Basket
2018-10-30 16:41:49 +01:00
Thomas Gelf f43c74dc8e CommandUsage: do not throw ProgrammingError 2018-10-30 16:41:19 +01:00
Thomas Gelf cf6e4536ea Util: drop bin2hex/hex2bin helpers
We dropped support for PHP 5.3, this is no longer required
2018-10-30 15:32:17 +01:00
Thomas Gelf bff93725eb ObjectController: fix "add to basket" for Sets 2018-10-25 08:38:24 +02:00
Thomas Gelf ef0499918f Services: fix multiselection for templates 2018-10-25 08:26:09 +02:00
Thomas Gelf 77cbb1040c GroupMemberTable: should work for services also
refs #1682
2018-10-25 08:21:58 +02:00
Gregory Hargreaves 8e38b1e318 Fixed style issue. 2018-10-22 09:42:33 +02:00
Gregory Hargreaves ce4850d2de Reverted back to previous object map storage, however added check for modified groups in RefreshDB and CheckDB this should now pass the current Unit Tests 2018-10-22 09:42:33 +02:00
Gregory Hargreaves 9b0d4b4d84 Added membership tab to servicegroups now the prerequisites are available for this functionality 2018-10-22 09:42:33 +02:00
Gregory Hargreaves fcd4125d71 Fixed bug in GroupMembershipResolver, objects not stored to instance if loading all objects causing mappings to not be stored. 2018-10-22 09:42:33 +02:00
Gregory Hargreaves 2efd90302c Added notifiers for ServiceGroupMembershipResolver to IcingaService & IcingaServiceGroup, created ServiceGroupMembershipResolver 2018-10-22 09:42:33 +02:00
Gregory Hargreaves c7eb34af97 Fixed Bug in ObjectApplyMatches, hard-coded object length broke filter matching for all but hosts 2018-10-22 09:42:33 +02:00
Gregory Hargreaves a8e6f53f70 Added DynamicApplyMatches implementation to remove hard coded Host implementation in GroupMembershipResolver 2018-10-22 09:42:33 +02:00
Thomas Gelf 6132166513 RemoveLinkForm: allow for multiple instances
fixes #1619
2018-10-16 16:09:53 +02:00
Thomas Gelf 5404e32f6d BasketSnapshot: small fix 2018-10-15 15:16:01 +02:00
Thomas Gelf f871e0bd7d basket: cleanup, fix/finish custom selection
fixes #1630
2018-10-15 15:04:14 +02:00
Thomas Gelf 83dc9dc6c3 BasketSnapshotFieldResolver: deal with fields
Also, this fixes Service Sets
2018-10-15 15:03:57 +02:00
Thomas Gelf 5d113b3833 BasketController: allow to download JSON via Web 2018-10-15 15:03:57 +02:00
Thomas Gelf bea52a3091 Basket: load by name 2018-10-15 15:03:57 +02:00
Thomas Gelf eb789162cb Basket/Datafield: map best candidate, fix bindings 2018-10-15 15:03:57 +02:00
Thomas Gelf 2e37758336 BasketSnapshot: add Datafields to the mix 2018-10-15 15:03:57 +02:00
Thomas Gelf f0878a9bcd BasketSnapshotTable: split by day - and more 2018-10-15 15:03:57 +02:00
Thomas Gelf 75787911b5 DbObject: fix insert with unprotected autoinc...
...for PostgreSQL
2018-10-15 15:03:57 +02:00
Thomas Gelf 591afd441e BasketSnapshot: be explicit, make special Service
...treatment obvious
2018-10-15 15:03:57 +02:00
Thomas Gelf 1d550cd442 BasketSnapshot: do not export external objects 2018-10-15 15:03:57 +02:00
Thomas Gelf 50dd49c937 Automation Objects: allow to change their ID 2018-10-15 15:03:57 +02:00
Thomas Gelf affcc54ba3 DbObject: allow specific objects to change their
...autoinc ID
2018-10-15 15:03:57 +02:00
Thomas Gelf 77c4997b88 Various: explicit loading with ID where required
...cleanup, comments
2018-10-15 15:03:57 +02:00
Thomas Gelf 1cbe6741ae BasketSnapshotTable: show '-' when empty 2018-10-15 15:03:57 +02:00
Thomas Gelf 1903f6e097 Objects: import/export for various types 2018-10-15 15:03:57 +02:00
Thomas Gelf 9e74dfcc16 ImportSource, SyncRule: cleanup 2018-10-15 15:03:57 +02:00
Thomas Gelf cd0b275250 DirectorJob: name is key, provide import/export 2018-10-15 15:03:57 +02:00
Thomas Gelf 8f3cf85954 ExportInterface: require getUniqueIdentifier() 2018-10-15 15:03:57 +02:00
Thomas Gelf 26630adb0f BasketSnapshot: defined order, respect inheritance
...and more
2018-10-15 15:03:57 +02:00
Thomas Gelf 6e25c05d89 Migrations: cleanup 2018-10-15 15:03:57 +02:00
Thomas Gelf f32e568b8a SyncRule: make ready for basket
refs #1630
2018-10-15 15:03:57 +02:00
Thomas Gelf 063a46ea56 ImportSource: switch key to name, improve import
...of ImportSource definitions

refs #1630
2018-10-15 15:03:57 +02:00
Thomas Gelf 9508cf8acd ImportExport: add ServiceSets 2018-10-15 15:03:57 +02:00
Thomas Gelf 6adc0f7632 DbObjectWithSettings: make sure new ones are...
...sorted
2018-10-15 15:03:57 +02:00
Thomas Gelf 93cbd4f020 Dashboard: introduce "Director" section with...
..."Basket"
2018-10-15 15:03:57 +02:00
Thomas Gelf f4220016d8 Basket: initial import of the main components
refs #1630
2018-10-15 15:03:57 +02:00
Thomas Gelf 35acda4865 ObjectController: fix usage link 2018-10-15 15:03:47 +02:00
Thomas Gelf 15a8886db7 IcingaCommandArgument: no need for format...
...when there is no value
2018-10-15 15:03:47 +02:00
Thomas Gelf c119c47864 ObjectApplyMatches: resolve imports/templates
fixes #1676
2018-10-15 15:03:41 +02:00
Thomas Gelf d27615eb57 ConfigHealthItemRenderer: multi-instance support 2018-10-08 13:54:33 +02:00
Thomas Gelf eedb6edff0 ControlsAndContent, js: trigger immediate refresh
...on missing WindowId. This fixes an issue for instances with multiple DB
resources
2018-10-08 13:54:18 +02:00
Thomas Gelf 3632eea164 Html: allow for string/int/float as tag content 2018-10-08 06:36:45 +02:00
Thomas Gelf ba47c39c51 BaseFormElement: '' is null for now 2018-10-08 06:36:38 +02:00
Thomas Gelf b3afe670c8 ImportRowModifier: no more ConfigurationError 2018-10-08 06:36:27 +02:00
Thomas Gelf 75a0797438 SyncUtils: prefer InvalidArgumentException 2018-10-08 06:35:36 +02:00
Thomas Gelf 0cd333006b Health: no Import/Sync/Jobs are OK 2018-10-08 06:35:28 +02:00
Thomas Gelf c93657c42e ZfQueryBasedTable: provide hasSearch() 2018-10-06 17:16:34 +02:00
Thomas Gelf db72931c1e Migrations: cleanup 2018-10-06 16:58:13 +02:00
Thomas Gelf e16d7865c7 DbSelectorForm: submission detection, once more 2018-10-06 16:36:01 +02:00
Thomas Gelf 3d26ab127f DbSelectorForm: do not believe to be submitted...
...when another form has been sent
2018-10-06 16:35:49 +02:00
Thomas Gelf 3839ecda50 Health: change UI layout and output ordering 2018-10-06 12:54:11 +02:00
Thomas Gelf fda7acc855 HealthController: show Health Check in the UI
fixes #1669
2018-10-05 16:00:10 +02:00
Thomas Gelf 72998e4307 IcingaObjectFieldLoader: hooked fields should not
...clear defined ones. There used to be collisions

fixes #1667
2018-10-05 15:13:19 +02:00
Thomas Gelf b9ff77b4bb DeploymentLog: deal with Icinga 2 race condition...
...clean up our DB and Icinga 2 stages via API

fixes #1488
2018-10-05 14:55:48 +02:00
Thomas Gelf dd566dc1be CLI: allow to append/remove from/to Arrays
fixes #1666
2018-10-05 12:10:58 +02:00
Thomas Gelf 33053103e1 IcingaServiceSetTable: do not trust a Servicve Set
...name, as the Template might have been renamed in the meantime - and the
name on the Set "object" has no meaning at all

fixes #1664
2018-10-04 18:30:27 +02:00
Thomas Gelf ea18006819 JobDetails: just a comment 2018-10-04 06:57:09 +02:00
Thomas Gelf 18ab9b4f7c tables: more getId calls removed 2018-10-04 06:56:28 +02:00
Thomas Gelf ac0745445e DirectorObjectForm: use autoinc for ints 2018-10-04 06:54:49 +02:00
Thomas Gelf 8d61fa6347 ImportRowModifier: sort settings 2018-10-04 06:53:55 +02:00
Thomas Gelf 4e42231291 DirectorJob: no magic getter/setter, cleanup 2018-10-04 06:52:35 +02:00
Thomas Gelf 1a0cabf216 ImportSourceHook: no more getId 2018-10-04 06:50:03 +02:00
Thomas Gelf ad46ff9fb0 DbObject: cleanup, phpdoc 2018-10-04 06:49:19 +02:00
Thomas Gelf 4e327ed54d Json: allow null/false 2018-10-04 06:47:50 +02:00
Thomas Gelf 0b341c6db1 ConfigDiff: allow Inline diff, cleanup, css 2018-10-04 06:46:32 +02:00
Thomas Gelf a9b2910657 IcingaObject: fix use of unused exception 2018-10-01 12:01:20 +02:00
Thomas Gelf 2b61a0e7c4 CompatController: use default exception 2018-10-01 11:59:02 +02:00
Thomas Gelf 77543371b7 ipl\Html\Form: use value name, not index 2018-10-01 11:59:02 +02:00
Camille TRUCHOT 0931c1df91 fix gettype for multiple host selection 2018-10-01 11:58:16 +02:00
Michael Friedrich bb81de8b84 Render Icinga config helpers with safe globals access
globals[key] works, although it wasn't documented how it
behaves in the case when this field doesn't exist.

Previously this has been a dictionary which silently returns
null if the key doesn't exist. With v2.10, globals turned
into a namespace which throws an error if not existing (which is
the correct behaviour).

In order to avoid configuration errors with 2.10, this is changed
into `contains()` which has been sitting in dictionaries since 2014.
So this patch ensures compatibility with older versions as well.
2018-09-27 10:40:58 +02:00
Markus Frosch 926bc2b0c6 legacy: Improve interval rendering 2018-09-20 15:58:39 +02:00
Markus Frosch 67222ef437 legacy: Support service blacklisting 2018-09-20 12:54:15 +02:00
Markus Frosch e2bd821d26
Merge pull request #1642 from Icinga/feature/group-resolve-housekeeping
Add group apply housekeeping and testing
2018-09-18 17:18:16 +02:00
Markus Frosch 7817c3b781 legacy: Allow configuration for file modes 2018-09-18 16:31:21 +02:00
Markus Frosch 93e1a88e10 legacy: Deploy files with proper permissions
So we can use the same logic as for icingaweb2 configs.
2018-09-18 15:10:42 +02:00
Markus Frosch 4675a241a8 Integrate MembershipHousekeeping into Housekeeping 2018-09-18 12:21:19 +02:00
Markus Frosch 7bfe1e03e6 Housekeeping: Add helper to refresh memberships in database
This is usually only done when either object or group changes.
2018-09-18 10:36:45 +02:00
Markus Frosch e46a610b5f GroupMembershipResolver: Add interfaces to be able to check before updating 2018-09-18 10:36:45 +02:00
Markus Frosch 4b03821caf BaseTestCase: Let db be accessed statically
E.g. from setUp and tearDown for class
2018-09-18 09:51:33 +02:00
Thomas Gelf 16bf0ce5c3 GroupMembershipResolver: ignore templates...
...but continue checking their children

refs #1618
2018-09-17 16:26:22 +02:00
Markus Frosch 8526a55e47 GroupMembershipResolver: Purge IcingaTemplateRepository before refresh
This is only required with a deferred GroupMembershipResolver.
2018-09-17 14:37:18 +02:00
Markus Frosch b49d050cec HostGroupMembershipResolver: Address issues with static group assignments
* Fixing static resolving in general
* Avoiding a problem where apply were matched when assign_filter is an
  empty string (empty FilterAnd)

fixes #1574
2018-09-17 14:37:18 +02:00
Markus Frosch ce9a8e1b09 IcingaObject: Allow imports to be accessed during onStore() 2018-09-17 14:37:18 +02:00
Markus Frosch 039a6c8660 TemplateRepository: Let us clear the instance cache 2018-09-17 14:37:18 +02:00
Thomas Gelf 76e353c9fb IcingaObjectInspection: handle NULL checkresult
fixes #1641
2018-09-17 09:15:24 +02:00
Thomas Gelf bf72c81062
Merge pull request #1639 from Icinga/feature/timeperiod-include-exclude
Add support for Timeperiod include/exclude
2018-09-17 09:10:59 +02:00
Thomas Gelf 095de49570 ipl/Form: set correct action url 2018-09-13 19:38:30 +02:00
Markus Frosch c86c168e43 IcingaTimeperiod: Add isActive support for include/exclude 2018-09-13 15:14:41 +02:00
Markus Frosch e8c64a422b legacy/IcingaTimeperiod: Support rendering of excludes 2018-09-13 15:14:41 +02:00
Markus Frosch 0d879c60d3 IcingaTimeperiod: Support includes and excludes 2018-09-13 15:14:41 +02:00
Markus Frosch 63eda31a64 IcingaObjectMultiRelations: Enable more config options 2018-09-13 15:14:41 +02:00
Thomas Gelf 3ae39af1cb DeploymentLog: deal with entries without checksum
This will allow to keep deployment history while dropping outdated generated
configs
2018-09-12 12:43:01 +02:00
Markus Frosch a2f7ff03c1 IcingaObject: Fix listed applied Groups to show mixed apply/static
In case a group has been statically assigned to other object it would
have been hidden.

This should only affect UI and legacy rendering.
2018-09-11 15:22:30 +02:00
Markus Frosch ff77aa9879 IcingaServiceSet: Render sub-sets in config preview 2018-09-06 14:07:33 +02:00
Markus Frosch a1664195f0
Merge pull request #1624 from Icinga/feature/legacy-updates
Improving legacy rendering
2018-09-06 11:44:36 +02:00
Thomas Gelf fb4efa303f ipl\Html: Textarea is a FormElement 2018-09-06 01:16:37 +02:00
Thomas Gelf 2f3f01e1c1 StartupLogRenderer: support non-standard package
* Warning Links are now available when package != director
* Changelog: mention health check change

fixes #1633
2018-09-06 01:15:14 +02:00
Thomas Gelf e853dc40fc ObjectController: hard exit after REST API response
fixes #1314
2018-09-05 22:29:19 +02:00
Thomas Gelf 9cf513f8aa ArrayElementByPosition: phpcs bug 2018-09-05 13:23:19 +02:00
Thomas Gelf 79620849c7 ArrayElementByPosition: new PropertyModifier
fixes #473
2018-09-05 13:11:09 +02:00
Markus Frosch d6b9f3137a legacy/IcingaObject: Render groups only when it is a stored object
This broke activity log.
2018-09-05 12:35:40 +02:00
Markus Frosch ff0553c9dd legacy/IcingaObject: Render interval properties properly 2018-09-05 12:35:40 +02:00
Markus Frosch d4d309a704 legacy/IcingaService/ServiceSet: Improve apply rendering
This now renders one object per zone with a list of hosts.
2018-09-05 12:35:40 +02:00
Markus Frosch f1dbeca77c legacy/IcingaHost: Render assigned hostgroups into host object 2018-09-05 12:35:40 +02:00
Markus Frosch 26e58834f6 IcingaHostForm: Move getAppliedGroups to IcingaObject 2018-09-05 12:35:40 +02:00
Markus Frosch cceb588d24 FlappingSupport: Add legacy support 2018-09-05 12:35:40 +02:00
Markus Frosch 3521b30953 legacy/IcingaHost: Don't render volatile 2018-09-05 12:35:40 +02:00
Markus Frosch 7c58cfdd7b widgets: Prefer using DeploymentApiInterface instead of CoreApi 2018-09-05 12:35:40 +02:00
Markus Frosch 0911910856 DbObject: Don't allow empty id for multi-column objects
This avoids that the user can actually create duplicate objects in the
database. (E.g. for service templates)
2018-09-05 11:41:49 +02:00
Markus Frosch 76d0ed22e7 legacy/ObjectApplyMatches: Fix fetchFlatObjectsByType using object
Instead of flat variables.
2018-09-05 11:41:49 +02:00
Thomas Gelf 44425d4407 Db: throw original exception when rollback fails 2018-09-04 11:08:37 +02:00
Thomas Gelf 6d139752fe QueryBasedTables: make search() public 2018-09-04 11:08:37 +02:00
Thomas Gelf b790c7410a Pagination: do not count twice for the same query 2018-09-04 11:08:37 +02:00
Thomas Gelf 488aad6f4e DirectorDb: fix overridden variable, has no effect
...at least not yet, it would have once access to Director DBs can be restricted
2018-09-04 11:08:37 +02:00
Markus Frosch 2075f2e54a IcingaConfig: Avoid try/except for compatibility with Icinga >= 2.6
try / except was never needed there, because get_host should never
throw an exception. It will be null then.

fixes #1610
2018-08-22 20:41:45 +02:00
Thomas Gelf 3c02f7499f ImportRun: fix problem with some binary checksums
fixes #1556
2018-08-14 09:10:15 +02:00
Thomas Gelf bf68dbcaca IcingaConfig: fix Service Override template name
Got broken by fd372c6 for #1579

fixes #1601
2018-08-14 08:34:41 +02:00
Thomas Gelf d7c92a29bd TemplateTree: do not remove parents matching the
...objects name from the tree

fixes #1602
2018-08-14 00:29:42 +02:00
Thomas Gelf 3ffacc70b6 IcingaServiceSet: do not delete on title click
fixes #1560
2018-08-13 11:21:54 +02:00
Thomas Gelf 657d6a958f WIP: click on service set title row should not...
...remove the set from the related host
2018-08-13 09:53:10 +02:00
Thomas Gelf 49d9ed7ecd IcingaServiceForm: fix blacklist service from set
fixes #1519
2018-08-13 09:52:07 +02:00
Thomas Gelf 2cf3151fdd PropertyModifierRejectOrSelect: fix typo 2018-08-13 08:17:15 +02:00
Thomas Gelf 01b85f5758 IcingaServiceSet: render comment next to Set 2018-08-13 07:52:59 +02:00
Thomas Gelf b5a6bcc143 AutomationActions: disable 'Download JSON'
It's not implemented in the related controller, and too late for 1.5.0

fixes #1572
2018-08-10 14:28:02 +02:00
Markus Frosch 025a3f7390
Merge pull request #1597 from Icinga/bugfix/activitylog-restore
RestoreObjectForm: Fix restore of multi-key and apply
2018-08-10 14:23:57 +02:00
Markus Frosch 679539d5dd IcingaObject: Fix call to RuntimeException 2018-08-10 13:47:15 +02:00
Thomas Gelf 71cc5939d3 CoreApiFieldsTable: fix legacy ipl syntax 2018-08-10 13:35:12 +02:00
Markus Frosch 217e3c1dce Update and improve Linux kickstart script
* Multiple Endpoints
* Default Global Zone is added automatically
* Stable without need for sysconfig

fixes #1585
2018-08-10 10:43:55 +02:00
Alexy Mikhailichenko cde61e122b Typo in IcingaObjectGroups.php
"doesn't exists" -> "doesn't exist"
2018-08-10 08:39:35 +02:00
Markus Frosch f63ee93f71 Turn off autocomplete in JS for suggested elements
Instead of the PHP code, for all input.director-suggest elements
2018-08-10 08:25:10 +02:00
Thomas Gelf fd372c6b62 IcingaConfig: check whether get_host succeeded...
...and warn otherwise

fixes #1595
2018-08-09 16:06:50 +02:00
Markus Frosch 07b07bb26e Fix wrong name in ActivityLog quicksearch
fixes #1408
2018-08-09 13:07:39 +02:00
Thomas Gelf 14a3039f65 controllers, libs: less noise from exceptions 2018-08-08 10:07:39 +02:00
Thomas Gelf 71ad8553cf ComatController: add missing use 2018-08-06 13:59:57 +02:00
Thomas Gelf 8c30b9c5de HostController, related: tweak Exceptions 2018-08-06 13:50:28 +02:00
Thomas Gelf 505912135d HostServices: mark disabled services
fixes #1548
2018-07-16 09:19:53 +02:00
Thomas Gelf c7a94f2c39 Dependencies: no longer considered experimental 2018-07-16 08:28:13 +02:00
Thomas Gelf ac1ba20ab7 AutomationObjectActionBar: add for Importsourc 2018-07-15 16:02:29 +02:00
Thomas Gelf 31b2326e1e DbObjectWithSettings: fix for unstored objects 2018-07-13 10:56:51 +02:00
Thomas Gelf 014f9b9dbe UserGroups: allow to specify zones
fixes #1163
2018-07-13 10:35:28 +02:00
Thomas Gelf 1733d6d520 Db: fix timezone issues
fixes #1332
fixes #1270
2018-07-13 09:43:27 +02:00
Thomas Gelf b77bdcbcf4 ImportRunBasedPurgeStrategy: fetch chunked rows
refs #1556
2018-07-04 15:18:43 +02:00
Thomas Gelf f2e6f86d8e PropertyModifierRejectOrSelect: match booleans 2018-07-03 16:56:57 +02:00
Thomas Gelf 06b6356de1 Dashboard: show DB selection only for setups...
...with multiple DBs
2018-06-23 11:17:56 +02:00
Thomas Gelf e6563b9882 ipl: fix SelectElement callback, Table cleanup 2018-06-23 09:07:07 +02:00
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