From 3f176de03adb764228e364966f2771d5b411053d Mon Sep 17 00:00:00 2001 From: Thomas Gelf Date: Fri, 28 Aug 2015 17:14:59 +0200 Subject: [PATCH] DirectorActivityLog: handle sub-objects --- .../Director/Objects/DirectorActivityLog.php | 30 +++++++++++++++++-- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/library/Director/Objects/DirectorActivityLog.php b/library/Director/Objects/DirectorActivityLog.php index 8f4e4f38..2bd405d4 100644 --- a/library/Director/Objects/DirectorActivityLog.php +++ b/library/Director/Objects/DirectorActivityLog.php @@ -51,6 +51,9 @@ class DirectorActivityLog extends DbObject if ($object->supportsCustomVars()) { $props['vars'] = $object->getVars(); } + if ($object->supportsImports()) { + $props['imports'] = $object->imports()->listImportNames(); + } return json_encode($props); } @@ -70,15 +73,27 @@ class DirectorActivityLog extends DbObject } } if ($object->supportsGroups()) { - // $props['groups'] = $object->groups()->listGroupNames(); + $old = $object->groups()->listOriginalGroupNames(); + $new = $object->groups()->listGroupNames(); + if ($old !== $new) { + $props['groups'] = $new; + } } + if ($object->supportsImports()) { + $old = $object->imports()->listOriginalImportNames(); + $new = $object->imports()->listImportNames(); + if ($old !== $new) { + $props['imports'] = $new; + } + } + return json_encode($props); } protected static function prepareOriginalProperties(DbObject $object) { - $props = $object->getModifiedProperties(); + $props = $object->getOriginalProperties(); if ($object->supportsCustomVars()) { $props['vars'] = (object) array(); foreach ($object->vars()->getOriginalVars() as $name => $var) { @@ -86,7 +101,16 @@ class DirectorActivityLog extends DbObject } } if ($object->supportsGroups()) { - // $props['groups'] = $object->groups()->listGroupNames(); + $groups = $object->groups()->listOriginalGroupNames(); + if (! empty($groups)) { + $props['groups'] = $groups; + } + } + if ($object->supportsImports()) { + $imports = $object->groups()->listOriginalGroupNames(); + if (! empty($imports)) { + $props['imports'] = $imports; + } } return json_encode($props);