Commit Graph

677 Commits

Author SHA1 Message Date
Thomas Gelf 9413c8cdbd IcingaConfig: do not re-deploy external objects 2015-12-01 14:47:10 +01:00
Thomas Gelf 4875c2813d IcingaArguments: fix variable name 2015-11-30 21:40:32 +01:00
Thomas Gelf 41d6f47752 DbObject: allow to change primary key (not autoinc) 2015-11-30 21:03:46 +01:00
Thomas Gelf 029ee84d33 IcingaConfig: cleanup, hardcode director-global 2015-11-30 15:31:54 +01:00
Thomas Gelf 4d28358e60 ImportSourceHook: allow default key column 2015-11-30 13:06:34 +01:00
Thomas Gelf c6af8811a8 ProvidedHook: do not fail on missing config 2015-11-30 12:19:37 +01:00
Thomas Gelf 211df25b42 CoreApi: use renamed method 2015-11-26 20:36:49 +01:00
Thomas Gelf ffe17cf58c ServiceActions: newly introduced, provide "inspect" 2015-11-26 18:55:00 +01:00
Thomas Gelf 9ac82db6ef HostActions: provide an inspect link for monitoring 2015-11-26 18:54:26 +01:00
Thomas Gelf dddf0d8ac5 CoreApi: allow to fetch a single object 2015-11-26 18:53:42 +01:00
Thomas Gelf 66b1daa1ba CoreApi: listObjects should return a list 2015-11-26 18:52:28 +01:00
Thomas Gelf 29168cbd85 Db: one more thing to do 2015-11-25 21:57:12 +01:00
Thomas Gelf 99a427c217 Sync: speedup by moving some logic to userspace 2015-11-25 21:54:42 +01:00
Thomas Gelf 35776575a3 Db::fetchLatestImportedRows: nested key support 2015-11-25 21:01:11 +01:00
Thomas Gelf a71bdfeb44 SyncRule: add listInvolvedSourceIds() method 2015-11-25 12:54:21 +01:00
Thomas Gelf b9390747b3 SyncRule: add getPriorityForNextProperty() method 2015-11-25 12:54:00 +01:00
Thomas Gelf f0475c2407 IcingaHost: beautify enumProperties 2015-11-25 12:52:57 +01:00
Thomas Gelf 8ed2b99c82 Sync: allow direct access to nested structures 2015-11-25 09:21:15 +01:00
Thomas Gelf 21451338c3 HostActions: fix namespace to fit new hook style 2015-11-20 12:41:34 +01:00
Thomas Gelf e5ebcc4bcc DirectorObjectForm: failing field elements...
...should still make part of the fields group
2015-11-19 09:24:45 +01:00
Thomas Gelf 40656be2c3 Db::getActivitylogNeighbors(): new method 2015-11-17 21:14:33 +01:00
Thomas Gelf ca368a341a Sync: just a newline 2015-11-17 18:28:24 +01:00
Thomas Gelf 66f76ef8c5 DirectorObjectForm: hardcode ignored arguments
These would otherwise cause issues in redirections after deleting
object fields or arguments
2015-11-17 18:26:43 +01:00
Thomas Gelf 03ba27d159 HostActions: use new Web 2.1 hook style 2015-11-17 16:53:41 +01:00
Thomas Gelf 7fb1182cc8 IcingaService: add basics for command resolution 2015-11-15 16:39:20 +01:00
Thomas Gelf dff0e1a263 DirectorObjectForm: more logic separation 2015-11-15 15:17:29 +01:00
Thomas Gelf 9ea092c035 DirectorObjectForm: do not require inherited props
What worked fine for fields should now work for default properties
too.
2015-11-14 19:47:10 +01:00
Thomas Gelf 49f28b27ef DirectorObjectForm: fix redirect for related objects
CommandArguments and similar are also IcingaObjects, but have no
object_name
2015-11-14 17:51:25 +01:00
Thomas Gelf 76b45f04d5 IcingaConfig: start to re-add disabled zone elements 2015-11-14 14:49:45 +01:00
Thomas Gelf 4853eba4da DirectorObjectForm: make use of field format details 2015-11-14 14:47:01 +01:00
Thomas Gelf d943195732 DirectorObjectForm: separate deletion logic 2015-11-14 14:45:48 +01:00
Thomas Gelf 621e561732 ImportSourceHook: look better for new web2 hooks 2015-11-14 00:22:50 +01:00
Thomas Gelf 5287e58fea IcingaObject: fetch format information for fields 2015-11-14 00:21:42 +01:00
Thomas Gelf 8dc39ccb89 IcingaZone: it works, one less helper method 2015-11-14 00:19:23 +01:00
Thomas Gelf 6b23ba28be IcingaZone: experiment with new boolean helper 2015-11-14 00:03:45 +01:00
Thomas Gelf 280cd2b7b3 IcingaObject: add helper for booleans 2015-11-13 23:59:26 +01:00
Thomas Gelf 5f9fb8eb83 IcingaConfigHelper: add missing exception class 2015-11-13 23:52:51 +01:00
Thomas Gelf 146b543fef CoreApi: first attempts to fetch object instances 2015-11-13 23:50:41 +01:00
Thomas Gelf 1abbab6ce9 CoreApi: allow to set Db object 2015-11-13 23:50:00 +01:00
Thomas Gelf e302632196 RestApiClient: use Benchmark 2015-11-09 18:31:26 +01:00
Thomas Gelf b5ba2b7da9 CoreApi: add a note for getConstants, still TBD 2015-11-09 18:30:53 +01:00
Thomas Gelf 3a9580e4ca CoreApi: use new objects api 2015-11-09 18:30:32 +01:00
Thomas Gelf bff5d328c2 CustomVariable: fix boolean condition 2015-11-09 18:29:19 +01:00
Thomas Gelf 86b613eb55 SyncProperty: add source column helper methods 2015-11-06 09:50:06 +01:00
Thomas Gelf d23149bf3e IcingaObject: prepare command object access 2015-11-06 09:49:05 +01:00
Thomas Gelf 4f64d79e15 IcingaConfig: tell whether config would change 2015-11-06 09:47:36 +01:00
Thomas Gelf de3c824fb2 QuickForm: allow public access to getSentValue 2015-11-06 09:40:49 +01:00
Thomas Gelf 775cf0104e DirectorActivityLog: avoid User access on CLI 2015-11-06 09:39:14 +01:00
Thomas Gelf 0db5a43d24 IcingaConfig: define DirectorStageDir constant 2015-11-06 09:38:28 +01:00
Thomas Gelf df3b23834c CustomVariableNumber: do not let locales influence...
...float rendering
2015-11-06 09:33:42 +01:00
Thomas Gelf a74381ebc9 RestApiClient: use Accept header for non-raw requests 2015-11-06 09:31:40 +01:00
Thomas Gelf 67551e6285 QuickTable: use new web2 default table classes 2015-11-06 09:22:47 +01:00
Thomas Gelf c070c77611 Import: no longer show raw row on exception 2015-11-06 09:20:13 +01:00
Thomas Gelf f18e1b6a5f ConfigDiff: byebye PHP-FineDiff, hello php-diff
Gives far better performance for larger strings
2015-11-05 12:30:07 +01:00
Thomas Gelf 39b58d24b7 Import: refine API, code cleanup 2015-11-03 12:52:38 +01:00
Thomas Gelf 2ac0d2d6f5 Import: start to split functionality 2015-11-03 10:31:44 +01:00
Thomas Gelf eee48e3238 Import: comment and move sort methods to the bottom 2015-11-03 10:18:24 +01:00
Thomas Gelf e02e61abd4 IcingaConfig: separate modification check from store 2015-11-03 09:10:34 +01:00
Thomas Gelf 499f223516 SyncProperty: fix expression 2015-11-02 16:21:35 +01:00
Thomas Gelf 2e746e68c1 CustomVariableDictionary: no magic getter for equals 2015-11-02 09:33:22 +01:00
Thomas Gelf 326a88fc81 Sync: cleanup 2015-11-02 09:29:03 +01:00
Thomas Gelf 5f333b0ea7 Import: always store dictionaries ordered 2015-11-02 09:25:39 +01:00
Thomas Gelf b7cd26b597 DirectorObjectForm: new helper method hasObject() 2015-11-02 09:24:58 +01:00
Thomas Gelf ccf47171fe DbObject: re-order method checks when setting 2015-11-02 09:23:41 +01:00
Thomas Gelf 7370bf34bb SyncRule: remove obsolete commented code 2015-11-02 09:22:32 +01:00
Thomas Gelf 857acd65b2 SyncProperty: remove obsolete comment 2015-11-02 09:11:40 +01:00
Thomas Gelf e73413fc25 SyncProperty: new setter method, fix tabs 2015-11-02 09:11:13 +01:00
Thomas Gelf 9d111d0db0 CustomVariableDictionary: always store an object 2015-11-01 00:57:02 +01:00
Thomas Gelf 0c121cf4fe CustomVariableString: immediate false for non-strings 2015-11-01 00:54:43 +01:00
Thomas Gelf a2e061cae3 QuickTable: allow for more flexibility with classes 2015-10-30 23:36:17 +01:00
Thomas Gelf b41ca7826e Sync: allow to determine expected modifications 2015-10-30 23:34:27 +01:00
Thomas Gelf d25e28c137 Forms: no dtdd wrapper for fieldsets 2015-10-29 17:21:52 +01:00
Thomas Gelf 139b52079f Import: allow for simple objects (hashes, dicts) 2015-10-28 22:31:37 +01:00
Thomas Gelf e317b7cf6d DbObject: add prefetch support 2015-10-28 22:31:10 +01:00
Thomas Gelf 1d2cc2b12d QuickTable: quick & dirty way to render objects 2015-10-28 22:29:25 +01:00
Thomas Gelf 06f9477bc1 IcingaCommand: fix magic PluginDir prefix 2015-10-28 22:28:43 +01:00
Thomas Gelf 7298092e97 CustomVariable: add support for creating new types 2015-10-28 22:27:53 +01:00
Thomas Gelf 5886765e37 CustomVariableNumber: new type for ints and floats 2015-10-28 22:27:24 +01:00
Thomas Gelf 51813557c9 CustomVariableBoolean: add a new custom var type 2015-10-28 22:27:01 +01:00
Thomas Gelf 73b01b8cb5 CustomVariableDictionary: fix storage and more 2015-10-28 22:26:38 +01:00
Thomas Gelf 353427fa1a CustomVariableNull: store to db as json 2015-10-28 22:24:34 +01:00
Thomas Gelf 82a893b06c DbObject: add loadWithAutoIncId 2015-10-26 12:05:37 +01:00
Thomas Gelf 11892d3e78 DirectorActivityLog: imports, not groups 2015-10-26 11:42:38 +01:00
Thomas Gelf 1bbd07efe1 Import: use IcingaException, add a TODO 2015-10-21 07:45:08 +02:00
Thomas Gelf 9ec520c788 Sync: start code cleanup
We want to store sync history and show sync previews, code needs to
be prepared for those tasks
2015-10-20 23:29:29 +02:00
Thomas Gelf 29206188bf ActionController: provide api to all controllers 2015-10-20 22:47:06 +02:00
Thomas Gelf 62a0f5f9c2 Sync: indentation 2015-10-20 22:22:58 +02:00
Thomas Gelf fc5976b5f8 Sync: use IcingaException 2015-10-20 22:21:48 +02:00
Thomas Gelf ccf8e6fa78 IcingaCommandArgument: first rendering implementation 2015-10-16 18:42:38 +02:00
Thomas Gelf 0a0015f96a DirectorDeploymentLog: adjust object to fit schema 2015-10-16 18:42:11 +02:00
Thomas Gelf 72c76134f6 CoreApi: add getStatus() method 2015-10-16 18:41:53 +02:00
Thomas Gelf e833d7be76 IcingaObject: just a newline 2015-10-16 18:41:07 +02:00
Thomas Gelf a1aea38cb4 IcingaCommand: extend input handling, be flexible 2015-10-16 18:39:13 +02:00
Thomas Gelf 7832cf85f1 IcingaArguments: new helper object, readonly 2015-10-16 18:38:28 +02:00
Thomas Gelf 249b849b08 IcingaConfigHelper: introduce alreadyRendered() 2015-10-16 18:36:43 +02:00
Thomas Gelf 371589a2a7 IcingaCommand: render command as an array 2015-10-16 18:13:42 +02:00
Thomas Gelf 062cd77496 CoreApi: store deployed config checksum 2015-10-16 18:12:47 +02:00
Thomas Gelf 776cd98253 CoreApi: provide active stage name 2015-10-16 18:08:18 +02:00
Thomas Gelf bbf7796b53 QuickTable: allow to provide pre-row classes 2015-10-16 18:04:12 +02:00
Thomas Gelf 071cf627d2 DirectorObjectForm: implement generic deletion 2015-10-15 23:56:25 +02:00
Thomas Gelf 4d72e315f2 DirectorObjectForm: add vars to fields group for now 2015-10-15 23:55:56 +02:00
Thomas Gelf f122fc3eb1 ObjectController: remove legacy delete tab 2015-10-15 23:55:13 +02:00
Thomas Gelf 0a5addabd1 DirectorObjectForm: group exection options, style 2015-10-15 23:52:31 +02:00
Thomas Gelf dc41842118 DirectorObjectForm: add store/delete button helper 2015-10-15 23:51:29 +02:00
Thomas Gelf b376527c44 ObjectController: formatting 2015-10-15 23:49:34 +02:00
Thomas Gelf c4f8425634 IcingaHost: add enumProperties, test for now 2015-10-15 23:48:36 +02:00
Thomas Gelf 988eb4bf77 DirectorObjectForm: redirect to newly created objects 2015-10-15 23:47:05 +02:00
Thomas Gelf eea642bd1c ImortSourceLdap: remove test columns 2015-10-15 23:45:30 +02:00
Thomas Gelf 51ee2a1fa5 QuickForm: add buttons to group
TODO: create list of buttons, get rid of hardcoded delete
2015-10-15 23:44:37 +02:00
Thomas Gelf 439d4ebc3d IcingaConfg: make use of new ShipConfigFiles hook 2015-10-15 20:35:21 +02:00
Thomas Gelf 81c6920b93 ShipConfigFilesHook: new hook
Allows other modules to ship additional files to/through Icinga 2.
2015-10-15 20:32:15 +02:00
Thomas Gelf e7687d226a DirectorObjectForm: provide delete button 2015-10-15 20:16:07 +02:00
Thomas Gelf 48a0389c80 QuickForm: remove most decorators from submit 2015-10-15 20:11:40 +02:00
Thomas Gelf 4693be3aa2 DirectorObjectForm: add fields to display group 2015-10-15 20:05:18 +02:00
Thomas Gelf fc748ff80a IcingaConfig::configFile(): allow custom suffix 2015-10-15 20:02:44 +02:00
Thomas Gelf d7c2e7dacd DbObject: do not hide our exceptions 2015-10-15 20:01:18 +02:00
Thomas Gelf b7d4b3f1a2 QuickForm: set decorators for form errors 2015-10-15 17:53:29 +02:00
Thomas Gelf 7693192e66 QuickForm: catch Exceptions from success handlers 2015-10-15 17:52:56 +02:00
Thomas Gelf 0544be3aec QuickForm: allow params for successUrl 2015-10-15 17:52:02 +02:00
Thomas Gelf 7f9d1750c5 DbObject: new method getKeyParams() 2015-10-15 17:48:29 +02:00
Thomas Gelf 45e6cb9944 ObjectController: correctly load fields 2015-10-13 17:58:50 +02:00
Thomas Gelf ef46c9de56 DbObject: allow to create without props 2015-10-13 17:53:01 +02:00
Thomas Gelf a39c8c3280 QuickForm: add getSuccessUrl() 2015-10-13 17:48:16 +02:00
Thomas Gelf e098f1bbb0 DbObject: improve exceptions 2015-10-13 17:47:32 +02:00
Thomas Gelf 5a244e209a QuickForm: fix ampersand for form actions 2015-10-13 17:29:20 +02:00
Thomas Gelf be98cf5133 QuickForm: return sent value only when sent 2015-10-13 17:28:26 +02:00
Thomas Gelf 7c081c12ce QuickTable: use one more class, thanks web 2.0.0 2015-10-13 17:21:39 +02:00
Thomas Gelf 346eb597ee ActionController: add deployments to config tabs 2015-09-30 08:50:59 +02:00
Thomas Gelf 416cf848ab inspect: studio-like tree 2015-09-30 08:41:51 +02:00
Thomas Gelf 9ea08647dc RestApiClient: handle non-json errors 2015-09-29 19:01:25 +02:00
Thomas Gelf a0c418a952 Db: don't collect states we learned about
Might be reverted later on, but is the safer choice for now
2015-09-29 18:53:53 +02:00
Thomas Gelf 386a7ee90d DirectorObjectForm: gracefully handle missing...
...data type implementations. Happens when fields have been configured
with data types provided by modules that have been disabled later on.
2015-09-29 18:47:49 +02:00
Thomas Gelf 7b6245dc0a ActionController: remove legacy syncproperty tab 2015-09-14 16:55:19 +02:00
Thomas Gelf 1a553df185 ObjectController: allow to edit fields 2015-09-14 16:54:43 +02:00
Thomas Gelf 5cbe07e95b ActionController: rename Import "run" to "history" 2015-09-14 16:53:15 +02:00
Thomas Gelf bda3ab311d DirectorObjectForm: extended hint for imports 2015-09-14 16:52:18 +02:00
Thomas Gelf 6077ca6c75 DbObject: add listProperties() method 2015-09-14 16:27:48 +02:00
Thomas Gelf 7bc59c010e QuickTable: allow to enforce filters 2015-09-14 16:26:15 +02:00
Thomas Gelf 68677e610f Core: import basic api implementation 2015-09-14 16:23:43 +02:00
Thomas Gelf 3c5103e077 ConfigDiff: new diff lib based on PHP-FineDiff 2015-09-14 13:37:27 +02:00
Thomas Gelf 3c0fbe11cd IcingaCommandField: new object 2015-08-29 01:13:53 +02:00
Thomas Gelf 4d34b2188e IcingaObject: allow to load by type with prefix 2015-08-29 01:12:04 +02:00
Thomas Gelf dd06be4a58 Import: handle empty sets 2015-08-29 01:10:56 +02:00
Thomas Gelf 38c4c06c77 DataTypeSqlQuery: temporarily hardcode UTF8 2015-08-29 01:10:14 +02:00
Thomas Gelf ff80463d76 DataTypeSqlQuery: disable buggy cache 2015-08-29 01:08:45 +02:00
Thomas Gelf ce0a982821 DirectorDeploymentLog: new object 2015-08-29 01:07:26 +02:00
Thomas Gelf f92689efd7 Db: implement getUncollectedDeployments() 2015-08-29 01:05:23 +02:00
Thomas Gelf c0043c26b0 IcingaObject: no zones right now 2015-08-29 01:04:28 +02:00
Thomas Gelf 0507a65e0b IcingaObject: log changes before storing relations 2015-08-29 01:03:34 +02:00
Thomas Gelf 8711e877ab IcingaHost: add display_name 2015-08-29 00:05:39 +02:00
Thomas Gelf 693837004a Sync: allow to enforce array format 2015-08-28 23:56:54 +02:00
Thomas Gelf 0b4bb9979b Import: work with data formats 2015-08-28 23:53:56 +02:00
Thomas Gelf 8ccad501e8 Sync: retrieve import format 2015-08-28 23:52:02 +02:00
Thomas Gelf c456f79c4c Import: do nothing if matching last import 2015-08-28 23:48:14 +02:00
Thomas Gelf 9c66661cdf Db: implement getLastImportedChecksum() 2015-08-28 23:46:40 +02:00
Thomas Gelf 7b1fda25bd IcingaCommand: prepare argument handling 2015-08-28 23:44:26 +02:00
Thomas Gelf 1936ad8997 CustomVariables: improve modification handling 2015-08-28 23:42:40 +02:00
Thomas Gelf ae9e4300c8 CustomVariableDictionary: our 'value' is an array 2015-08-28 23:39:14 +02:00
Thomas Gelf 8b11c07c65 objects/tree: generic template for all object types 2015-08-28 23:36:07 +02:00
Thomas Gelf 053854e2c6 CustomVariable: improve modification handling 2015-08-28 18:37:17 +02:00
Thomas Gelf b9a4820515 CustomVariable: fix nested vars 2015-08-28 18:35:42 +02:00
Thomas Gelf 5d363374ad CustomVariableDictionary: implement getValue 2015-08-28 18:30:53 +02:00
Thomas Gelf e912b566a2 CustomVariableArray: implement get(Db)Value() 2015-08-28 18:26:51 +02:00
Thomas Gelf a16fd24cac IcingaObject: intercept set() for sub-objects 2015-08-28 18:23:13 +02:00
Thomas Gelf 3757c0fb85 IcingaObject: type should not be private 2015-08-28 18:21:04 +02:00
Thomas Gelf f81f6167d5 CustomVariable: store format on modification 2015-08-28 18:17:21 +02:00
Thomas Gelf 0c3e316bb9 CustomVariables: cast foreign id to int 2015-08-28 18:16:36 +02:00
Thomas Gelf 7e4067d265 CustomVariableNull: allow for null vars 2015-08-28 18:13:01 +02:00
Thomas Gelf 8a72bbf513 Db: only use use'd classes 2015-08-28 18:02:44 +02:00
Thomas Gelf 3da616aa96 ObjectsController: directly set filterEditor 2015-08-28 18:00:34 +02:00
Thomas Gelf b204e7e6a0 ActionController: remove obsolete code 2015-08-28 17:53:35 +02:00
Thomas Gelf 9d921eece6 IcingaConfig: (temp) disable zones 2015-08-28 17:52:19 +02:00
Thomas Gelf e8ae1235fd QuickTable: show array values on multiple lines
NB: Should we better json_encode?
2015-08-28 17:31:31 +02:00
Thomas Gelf 6ff5dd323a DirectorObjectForm: work even with no templates 2015-08-28 17:20:12 +02:00
Thomas Gelf cdfac373fb ImportSourceLdap: new import source 2015-08-28 17:16:58 +02:00
Thomas Gelf 3f176de03a DirectorActivityLog: handle sub-objects 2015-08-28 17:14:59 +02:00
Thomas Gelf 9f7e97d80a IcingaObjectGroups: history-related modifications 2015-08-28 17:12:46 +02:00
Thomas Gelf 3811c1612b IcingaObjectImports: attempt to fix history 2015-08-28 17:11:51 +02:00
Thomas Gelf 3d38a6fec9 DirectorObjectForm: do not show structured vars 2015-08-28 17:01:57 +02:00
Thomas Gelf 45755f7a63 Util: add methods for Ldap resources 2015-08-28 16:57:40 +02:00
Thomas Gelf 3ddd6291e4 ObjectController: add missing title 2015-08-28 16:51:41 +02:00
Thomas Gelf 5d643534ad QuickTable: gracefully handle missing columns 2015-08-28 16:49:48 +02:00
Thomas Gelf abd17e8be7 Sync: initial work to support more object types 2015-08-04 19:52:02 +02:00
Thomas Gelf e9d9a435b9 IcingaObject: add more class loading helpers 2015-08-04 19:26:53 +02:00
Thomas Gelf 0aae476498 Sync: handle 'import' property on creation 2015-08-03 15:12:46 +02:00
Thomas Gelf 9771e04ee0 IcingaCommandArgument: adjust schema column name 2015-08-03 13:53:58 +02:00
Thomas Gelf be99769fc6 DirectorObjectForm: fields not required if inherited 2015-08-03 13:51:55 +02:00
Thomas Gelf 8eb2bd7701 IcingaObject: prepare generic "arguments" support 2015-08-03 13:43:30 +02:00
Thomas Gelf 73ed4d398f DirectorObjectForm: never inherit object_name 2015-08-03 13:42:52 +02:00
Thomas Gelf b90c93ebdc Command templates and more 2015-08-03 13:42:19 +02:00
Thomas Gelf 9946bed438 ObjectController: do not load objects twice 2015-08-03 13:41:42 +02:00
Thomas Gelf 4133733664 ObjectController: add missing variable 2015-08-03 13:41:22 +02:00
Thomas Gelf 19eec671f2 Import/Sync: add support for 'import' fields 2015-08-03 13:39:55 +02:00
Thomas Gelf c26f2ed087 DirectorObjectForm: handle object_type only if such 2015-08-03 13:39:12 +02:00
Thomas Gelf b6018c2d31 DirectorObjectForm: fix non-Icinga defaults 2015-08-03 13:13:28 +02:00
Thomas Gelf 2bab21c2d8 DirectorObjectForm: prefill object with defaults 2015-08-03 12:54:40 +02:00
Thomas Gelf 44154fe914 ObjectController: directly use this->object 2015-08-03 12:54:40 +02:00
Thomas Gelf 22aa1552a4 DirectorObjectForm: imports field should be larger 2015-08-03 12:54:40 +02:00
Thomas Gelf b9bd71cc13 DirectorObjectForm: more restrictive auto-id field 2015-08-03 12:54:40 +02:00
Thomas Gelf d931eee9b3 DirectorObjectForm: customvars work with post 2015-08-03 12:54:40 +02:00