Commit Graph

1504 Commits

Author SHA1 Message Date
Thomas Gelf 696e63b4ec Servicesset: add controller, form and table 2016-10-25 23:12:23 +00:00
Thomas Gelf 6a45d9507d IcingaServiceSet: remove legacy resolving methods
They have been used once we had no imports
2016-10-25 23:12:23 +00:00
Thomas Gelf fa2c360f4c IcingaObject: fix arguments rendering for external
...objects
2016-10-25 02:28:19 +00:00
Thomas Gelf ad7c5bc997 IcingaHost: fix tests 2016-10-25 00:30:12 +00:00
Thomas Gelf 39be7b2cb0 IcingaObjectLegacyAssignments: rendering for old...
...assignments still to be found in our activity log
2016-10-25 00:00:16 +00:00
Thomas Gelf 6e83a4fd5b IcingaObjectGroup: provide groups for assign rules 2016-10-24 21:55:02 +00:00
Thomas Gelf 0d86c24cd8 Huge change, getting rid of legacy assignment...
...code. All objects should work with the new code base right now
2016-10-24 03:41:37 +00:00
Thomas Gelf aeafec37d7 FormDataFilter: simplify HTML, Code and style 2016-10-23 04:23:38 +00:00
Thomas Gelf 24478ede12 DataFilter: json_en/decode when passing to form 2016-10-23 03:14:52 +00:00
Thomas Gelf 88a741a8d0 IcingaService: introduce assign_filter property 2016-10-22 07:02:09 +00:00
Thomas Gelf 8f2b9fea07 DataFilter: automagic fix for not(multiple) 2016-10-22 07:02:09 +00:00
Thomas Gelf 6ed24f93da IcingaObject: render assign_filter property 2016-10-22 07:02:09 +00:00
Thomas Gelf 0a6514928a AssignRenderer: add renderEquals method...
...with (hopefully temporarily) hardcoded groups support
2016-10-22 07:02:09 +00:00
Thomas Gelf a819e7c92c DataFilter: attribs are no longer needed 2016-10-22 07:02:09 +00:00
Thomas Gelf 8ade496fdc DataFilter: refactor the whole class(es) 2016-10-22 07:02:09 +00:00
Thomas Gelf 037c588d26 FormDataFilter: change icon for expression 2016-10-22 07:02:09 +00:00
Thomas Gelf 9349ba0f2a FormDataFilter: new implementation for assignments
First prototype
2016-10-22 07:02:09 +00:00
Thomas Gelf 9ba6116091 IcingaService: support and test speciall object...
...name variants with apply for
2016-10-22 06:54:53 +00:00
Thomas Gelf 1f660b514a IcingaServiceForm: allow empty name for apply rule 2016-10-22 06:09:10 +00:00
Thomas Gelf 7c31b37f27 IcingaServiceForm: remove duplicate code
Elements in this list are optional and may be used in various forms,
so keeping this in the base class is preferrable here
2016-10-22 06:09:00 +00:00
Thomas Gelf 5b4e7509f4 Just a couple of phpcs complaints fixed 2016-10-22 06:08:52 +00:00
Thomas Gelf 0791b900f3 QuickBaseForm: allow translation tools find 'None' 2016-10-22 06:08:44 +00:00
Corentin Ardeois 3e30d34098 Use `config` variable in apply for rules
* use `config` instead of `value` in apply for rules
* update documentation

refs #11976
2016-10-22 06:07:57 +00:00
Corentin Ardeois e7bd4343b5 Add support for Apply for rules in services
Apply for rules are defined through `apply_for` property
Only Array custom variables will be eligible in apply_for dropdown.

API Example:
```bash
 ./director-curl POST director/service?name=my_service '{"apply_for": "for (checked_tcp_port in host.vars.checked_tcp_ports)" }'
 ```

 Will render as:
 ```
  apply Service "my_service" for (checked_tcp_port in host.vars.checked_tcp_ports) {
      ...
  }
  ```
Feature: https://dev.icinga.org/issues/11976

Depends-On: https://github.com/Icinga/icingaweb2-module-director/pull/20
refs #11976
2016-10-22 06:00:54 +00:00
Thomas Gelf b7eaab715b Make explicit calls to renderStringWithVariables 2016-10-22 05:48:09 +00:00
Corentin Ardeois 37c91050c7 Expressions syntax is now $var$
Instead of $$var$$.
We make sure $$var$$ is left untouched.

refs #11976
2016-10-22 00:15:09 +00:00
Corentin Ardeois ddcfb09f58 Handle expressions only for apply objects
Expressions will be handled only if the object is an ApplyRule.
Only properties and custom variables are replaced.

refs #11976
2016-10-22 00:15:09 +00:00
Corentin Ardeois bcef87f4c9 Add support for expressions
Any rendered string can contain variables encapsulated with "$$" characters.

Example:
Display Name declared with `Port $$host.vars.tcp_port$$ check` will
be processed as `"Port " + host.vars.tcp_port + " check"`

API:
```bash
 ./director-curl POST director/service?name=my_service '{"display_name": "Port $$host.vars.tcp_port$$ check" }'
 ```

 Rendered config:
 ```
  apply Service "my_service" {
      import "my_template"

      display_name = "Port " + host.vars.tcp_port + " check"
  }
 ```

refs #11976
2016-10-22 00:15:09 +00:00
Thomas Gelf a9b3b2f47a IcingaObjectImports: fix compatibility issue
fixes #12951
2016-10-20 19:17:52 +00:00
Thomas Gelf b62b602f7d DirectorObjectForm: move imports below name 2016-10-20 02:22:34 +00:00
Thomas Gelf fc2890d865 IcingaObject: new helper method for single...
...resolved custom vars
2016-10-20 01:37:23 +00:00
Thomas Gelf 76936c7efb IcingaTemplateResolver: fix resolver for unstored...
...objects

refs #12938
2016-10-20 01:32:52 +00:00
Thomas Gelf d5234f723d HostController: no loop check for 'fake' services
Inherited services do not exist in the db. As many services would
carry their template's name, the fallback to a name-based loop check
would trigger an erraneous error. So we trigger no preliminary loop
check for those now.

fixes #12938
2016-10-20 01:09:34 +00:00
Thomas Gelf 8c2d5ec7f9 Data: flip field/list order, as fields are...
...more important
2016-10-17 17:24:27 +00:00
Thomas Gelf edbda2c592 IcingaObjectFieldLoader: silently ignore setValues
...when called for an object without custom var support
2016-10-17 16:57:25 +00:00
Thomas Gelf 46a5b3cb2f CubeLinks: hook into the cube module 2016-10-14 21:14:04 +00:00
Thomas Gelf b40f4a7ab7 QuickTable: fix 'return value in write contex'...
...for older PHP versions
2016-10-14 19:35:52 +00:00
Thomas Gelf 23ef9a707c MultiEdit: make it independent of an object type 2016-10-14 18:32:34 +00:00
Thomas Gelf 6a54e00402 MultiEdit: code cleanup, add custom var support
fixes #12465
fixes #12906
fixes #11614
2016-10-14 17:17:07 +00:00
Thomas Gelf 69237b8ae9 MultiEditForm: first shot, provides imports
refs #12465
2016-10-14 13:46:06 +00:00
Thomas Gelf 732ebae339 ActionController: provide a singleTab helper 2016-10-14 13:46:06 +00:00
Thomas Gelf 41c4448685 QuickTable: provide multiselect feature
refs #11614
2016-10-14 13:46:06 +00:00
Thomas Gelf 6f46e6b496 YesNo: new boolean-like form fields
fixes #12927
2016-10-14 13:39:43 +00:00
Thomas Gelf 98708e6496 Forms: better error handling
fixes #12926
2016-10-14 13:35:30 +00:00
Thomas Gelf 2df7144240 TemplateResolver: no more false alarms...
...when multiple paths lead to the same template

refs #11803
2016-10-14 11:26:41 +00:00
Thomas Gelf 558ea82203 IcingaRelatedObject: fix syntax, add comment...
...stating that this is unfinished
2016-10-14 10:40:29 +00:00
Thomas Gelf cfbf40147c IcingaObjectImports: simplify code 2016-10-14 10:33:46 +00:00
Thomas Gelf 041fd52174 FieldLoader, TemplateResolver: more cleanup
A few fixes related to modified imports for unstored objects

refs #12922
2016-10-14 09:59:08 +00:00
Thomas Gelf 98acba9fb4 IcingaTemplateResolver: more tweaking
refs #12922
2016-10-14 09:40:01 +00:00
Thomas Gelf 61f3ffff7e TemplateResolver: deal with unstored modified...
...imports property

fixes #12922
2016-10-14 09:12:05 +00:00