From a88563f9254be655d6d4d14169daf66cab432b24 Mon Sep 17 00:00:00 2001 From: Thomas Gelf Date: Thu, 30 Jul 2015 11:46:27 +0200 Subject: [PATCH] DirectorActivityLog: start to log related objects First implementation: groups --- library/Director/Objects/DirectorActivityLog.php | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/library/Director/Objects/DirectorActivityLog.php b/library/Director/Objects/DirectorActivityLog.php index 1ff183cc..3da05baf 100644 --- a/library/Director/Objects/DirectorActivityLog.php +++ b/library/Director/Objects/DirectorActivityLog.php @@ -39,6 +39,19 @@ class DirectorActivityLog extends DbObject } } + protected static function prepareNewObjectProperties(DbObject $object) + { + $props = $object->getProperties(); + if ($object->supportsCustomVars()) { + // $props->vars = $object->vars()->toJson(); + } + if ($object->supportsGroups()) { + $props['groups'] = $object->groups()->listGroupNames(); + } + + return json_encode($props); + } + public static function logCreation(DbObject $object, Db $db) { $data = array( @@ -46,7 +59,7 @@ class DirectorActivityLog extends DbObject 'action_name' => 'create', 'author' => self::username(), 'object_type' => $object->getTableName(), - 'new_properties' => json_encode($object->getProperties()), + 'new_properties' => self::prepareNewObjectProperties($object), 'change_time' => date('Y-m-d H:i:s'), // TODO -> postgres! 'parent_checksum' => $db->getLastActivityChecksum() );