From e6e51dc2be7fc2e859ce47dba9c25c3b9e35cfcb Mon Sep 17 00:00:00 2001 From: Thomas Gelf Date: Wed, 8 Mar 2017 17:04:50 +0100 Subject: [PATCH] SyncPropertyForm: fix error on list sync fixes #836 --- application/forms/SyncPropertyForm.php | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/application/forms/SyncPropertyForm.php b/application/forms/SyncPropertyForm.php index fa798c49..463d0975 100644 --- a/application/forms/SyncPropertyForm.php +++ b/application/forms/SyncPropertyForm.php @@ -288,24 +288,29 @@ class SyncPropertyForm extends DirectorObjectForm } foreach ($dummy->listProperties() as $prop) { - if ($prop === 'id') { + if ($dummy instanceof IcingaObject && $prop === 'id') { continue; } // TODO: allow those fields, but munge them (store ids) //if (preg_match('~_id$~', $prop)) continue; if (substr($prop, -3) === '_id') { - $prop = substr($prop, 0, -3); - if (! $dummy instanceof IcingaObject || ! $dummy->hasRelation($prop)) { - continue; + if ($dummy instanceof IcingaObject) { + if ($dummy->hasRelation($prop)) { + $prop = substr($prop, 0, -3); + } else { + continue; + } } } $props[$prop] = $prop; } - foreach ($dummy->listMultiRelations() as $prop) { - $props[$prop] = sprintf('%s (%s)', $prop, $this->translate('a list')); + if ($dummy instanceof IcingaObject) { + foreach ($dummy->listMultiRelations() as $prop) { + $props[$prop] = sprintf('%s (%s)', $prop, $this->translate('a list')); + } } ksort($props);