From 2e1ee2d064c07322d7f074160a6de9d5512e43f6 Mon Sep 17 00:00:00 2001 From: iglocska Date: Wed, 17 Nov 2021 15:43:52 +0100 Subject: [PATCH] new: [audit log] behaviour tied into the appropriate models --- src/Model/Table/AlignmentsTable.php | 1 + src/Model/Table/AuditLogsTable.php | 2 +- src/Model/Table/AuthKeysTable.php | 3 ++- src/Model/Table/BroodsTable.php | 5 +++-- src/Model/Table/EncryptionKeysTable.php | 1 + src/Model/Table/InboxTable.php | 4 ++-- src/Model/Table/IndividualsTable.php | 1 + src/Model/Table/InstanceTable.php | 4 +++- src/Model/Table/LocalToolsTable.php | 1 + src/Model/Table/MetaFieldsTable.php | 1 + src/Model/Table/OrganisationsTable.php | 1 + src/Model/Table/OutboxProcessorsTable.php | 5 +++-- src/Model/Table/OutboxTable.php | 2 +- src/Model/Table/RemoteToolConnectionsTable.php | 1 + src/Model/Table/RolesTable.php | 1 + src/Model/Table/SettingsTable.php | 1 + src/Model/Table/SharingGroupsTable.php | 1 + src/Model/Table/UsersTable.php | 1 + 18 files changed, 26 insertions(+), 10 deletions(-) diff --git a/src/Model/Table/AlignmentsTable.php b/src/Model/Table/AlignmentsTable.php index 0914e99..c05ad90 100644 --- a/src/Model/Table/AlignmentsTable.php +++ b/src/Model/Table/AlignmentsTable.php @@ -12,6 +12,7 @@ class AlignmentsTable extends AppTable { parent::initialize($config); $this->belongsTo('Individuals'); + $this->addBehavior('AuditLog'); $this->belongsTo('Organisations'); $this->addBehavior('Timestamp'); } diff --git a/src/Model/Table/AuditLogsTable.php b/src/Model/Table/AuditLogsTable.php index 374a156..b65b5b2 100644 --- a/src/Model/Table/AuditLogsTable.php +++ b/src/Model/Table/AuditLogsTable.php @@ -145,7 +145,7 @@ class AuditLogsTable extends AppTable } } if ($this->syslog) { - $entry = $data['action']; + $entry = $data['request_action']; $title = $entity->generateUserFriendlyTitle(); if ($title) { $entry .= " -- $title"; diff --git a/src/Model/Table/AuthKeysTable.php b/src/Model/Table/AuthKeysTable.php index 3663af9..f5336e6 100644 --- a/src/Model/Table/AuthKeysTable.php +++ b/src/Model/Table/AuthKeysTable.php @@ -19,10 +19,11 @@ class AuthKeysTable extends AppTable { parent::initialize($config); $this->addBehavior('UUID'); + $this->addBehavior('AuditLog'); $this->belongsTo( 'Users' ); - $this->setDisplayField('authkey'); + $this->setDisplayField('comment'); } public function beforeMarshal(EventInterface $event, ArrayObject $data, ArrayObject $options) diff --git a/src/Model/Table/BroodsTable.php b/src/Model/Table/BroodsTable.php index e1993b4..b0d3dca 100644 --- a/src/Model/Table/BroodsTable.php +++ b/src/Model/Table/BroodsTable.php @@ -19,6 +19,7 @@ class BroodsTable extends AppTable parent::initialize($config); $this->addBehavior('UUID'); $this->addBehavior('Timestamp'); + $this->addBehavior('AuditLog'); $this->BelongsTo( 'Organisations' ); @@ -278,7 +279,7 @@ class BroodsTable extends AppTable } return $jsonReply; } - + /** * handleSendingFailed - Handle the case if the request could not be sent or if the remote rejected the connection request * @@ -302,7 +303,7 @@ class BroodsTable extends AppTable ]; return $creationResult; } - + /** * handleMessageNotCreated - Handle the case if the request was sent but the remote brood did not save the message in the inbox * diff --git a/src/Model/Table/EncryptionKeysTable.php b/src/Model/Table/EncryptionKeysTable.php index 23b4867..2008e0d 100644 --- a/src/Model/Table/EncryptionKeysTable.php +++ b/src/Model/Table/EncryptionKeysTable.php @@ -14,6 +14,7 @@ class EncryptionKeysTable extends AppTable { parent::initialize($config); $this->addBehavior('UUID'); + $this->addBehavior('AuditLog'); $this->addBehavior('Timestamp'); $this->belongsTo( 'Individuals', diff --git a/src/Model/Table/InboxTable.php b/src/Model/Table/InboxTable.php index 0c62a80..18faf47 100644 --- a/src/Model/Table/InboxTable.php +++ b/src/Model/Table/InboxTable.php @@ -19,7 +19,7 @@ class InboxTable extends AppTable parent::initialize($config); $this->addBehavior('UUID'); $this->addBehavior('Timestamp'); - + $this->addBehavior('AuditLog'); $this->belongsTo('Users'); $this->setDisplayField('title'); } @@ -68,7 +68,7 @@ class InboxTable extends AppTable if (empty($brood)) { $errors[] = __('Unkown brood `{0}`', $entryData['data']['cerebrateURL']); } - + // $found = false; // foreach ($user->individual->organisations as $organisations) { // if ($organisations->id == $brood->organisation_id) { diff --git a/src/Model/Table/IndividualsTable.php b/src/Model/Table/IndividualsTable.php index f0ba07f..70f63fd 100644 --- a/src/Model/Table/IndividualsTable.php +++ b/src/Model/Table/IndividualsTable.php @@ -16,6 +16,7 @@ class IndividualsTable extends AppTable $this->addBehavior('UUID'); $this->addBehavior('Timestamp'); $this->addBehavior('Tags.Tag'); + $this->addBehavior('AuditLog'); $this->hasMany( 'Alignments', [ diff --git a/src/Model/Table/InstanceTable.php b/src/Model/Table/InstanceTable.php index 0ec2a53..a625e79 100644 --- a/src/Model/Table/InstanceTable.php +++ b/src/Model/Table/InstanceTable.php @@ -18,6 +18,8 @@ class InstanceTable extends AppTable public function initialize(array $config): void { parent::initialize($config); + $this->addBehavior('AuditLog'); + $this->setDisplayField('name'); } public function validationDefault(Validator $validator): Validator @@ -54,7 +56,7 @@ class InstanceTable extends AppTable $timeline[$entry->date]['count'] = $entry->count; } $statistics[$model]['timeline'] = array_values($timeline); - + $startCount = $table->find()->where(['modified <' => new \DateTime("-{$days} days")])->all()->count(); $endCount = $statistics[$model]['amount']; $statistics[$model]['variation'] = $endCount - $startCount; diff --git a/src/Model/Table/LocalToolsTable.php b/src/Model/Table/LocalToolsTable.php index 8f2bfea..ac29bf9 100644 --- a/src/Model/Table/LocalToolsTable.php +++ b/src/Model/Table/LocalToolsTable.php @@ -30,6 +30,7 @@ class LocalToolsTable extends AppTable public function initialize(array $config): void { parent::initialize($config); + $this->addBehavior('AuditLog'); $this->addBehavior('Timestamp'); } diff --git a/src/Model/Table/MetaFieldsTable.php b/src/Model/Table/MetaFieldsTable.php index ba4cc66..bdcb212 100644 --- a/src/Model/Table/MetaFieldsTable.php +++ b/src/Model/Table/MetaFieldsTable.php @@ -12,6 +12,7 @@ class MetaFieldsTable extends AppTable { parent::initialize($config); $this->addBehavior('UUID'); + $this->addBehavior('AuditLog'); $this->setDisplayField('field'); $this->belongsTo('MetaTemplates'); $this->belongsTo('MetaTemplateFields'); diff --git a/src/Model/Table/OrganisationsTable.php b/src/Model/Table/OrganisationsTable.php index 254a570..d4a99b9 100644 --- a/src/Model/Table/OrganisationsTable.php +++ b/src/Model/Table/OrganisationsTable.php @@ -20,6 +20,7 @@ class OrganisationsTable extends AppTable parent::initialize($config); $this->addBehavior('Timestamp'); $this->addBehavior('Tags.Tag'); + $this->addBehavior('AuditLog'); $this->hasMany( 'Alignments', [ diff --git a/src/Model/Table/OutboxProcessorsTable.php b/src/Model/Table/OutboxProcessorsTable.php index da26692..5812cb4 100644 --- a/src/Model/Table/OutboxProcessorsTable.php +++ b/src/Model/Table/OutboxProcessorsTable.php @@ -28,6 +28,7 @@ class OutboxProcessorsTable extends AppTable if (empty($this->outboxProcessors)) { $this->loadProcessors(); } + $this->addBehavior('AuditLog'); } public function getProcessor($scope, $action=null) @@ -87,7 +88,7 @@ class OutboxProcessorsTable extends AppTable } } } - + /** * getProcessorClass * @@ -112,7 +113,7 @@ class OutboxProcessorsTable extends AppTable return $e->getMessage(); } } - + /** * createOutboxEntry * diff --git a/src/Model/Table/OutboxTable.php b/src/Model/Table/OutboxTable.php index 02fd442..a78e0c6 100644 --- a/src/Model/Table/OutboxTable.php +++ b/src/Model/Table/OutboxTable.php @@ -19,8 +19,8 @@ class OutboxTable extends AppTable parent::initialize($config); $this->addBehavior('UUID'); $this->addBehavior('Timestamp'); - $this->belongsTo('Users'); + $this->addBehavior('AuditLog'); $this->setDisplayField('title'); } diff --git a/src/Model/Table/RemoteToolConnectionsTable.php b/src/Model/Table/RemoteToolConnectionsTable.php index 7e8cf21..1e1ee25 100644 --- a/src/Model/Table/RemoteToolConnectionsTable.php +++ b/src/Model/Table/RemoteToolConnectionsTable.php @@ -18,6 +18,7 @@ class RemoteToolConnectionsTable extends AppTable 'LocalTools' ); $this->setDisplayField('id'); + $this->addBehavior('AuditLog'); } public function validationDefault(Validator $validator): Validator diff --git a/src/Model/Table/RolesTable.php b/src/Model/Table/RolesTable.php index 3973b1b..74f290b 100644 --- a/src/Model/Table/RolesTable.php +++ b/src/Model/Table/RolesTable.php @@ -12,6 +12,7 @@ class RolesTable extends AppTable { parent::initialize($config); $this->addBehavior('UUID'); + $this->addBehavior('AuditLog'); $this->hasMany( 'Users', [ diff --git a/src/Model/Table/SettingsTable.php b/src/Model/Table/SettingsTable.php index c2d71c9..7e9bcff 100644 --- a/src/Model/Table/SettingsTable.php +++ b/src/Model/Table/SettingsTable.php @@ -26,6 +26,7 @@ class SettingsTable extends AppTable parent::initialize($config); $this->setTable(false); $this->SettingsProvider = new CerebrateSettingsProvider(); + $this->addBehavior('AuditLog'); } public function getSettings($full=false): array diff --git a/src/Model/Table/SharingGroupsTable.php b/src/Model/Table/SharingGroupsTable.php index ec3791e..ff39220 100644 --- a/src/Model/Table/SharingGroupsTable.php +++ b/src/Model/Table/SharingGroupsTable.php @@ -15,6 +15,7 @@ class SharingGroupsTable extends AppTable parent::initialize($config); $this->addBehavior('UUID'); $this->addBehavior('Timestamp'); + $this->addBehavior('AuditLog'); $this->belongsTo( 'Users' ); diff --git a/src/Model/Table/UsersTable.php b/src/Model/Table/UsersTable.php index d9804a4..3a98b00 100644 --- a/src/Model/Table/UsersTable.php +++ b/src/Model/Table/UsersTable.php @@ -20,6 +20,7 @@ class UsersTable extends AppTable parent::initialize($config); $this->addBehavior('Timestamp'); $this->addBehavior('UUID'); + $this->addBehavior('AuditLog'); $this->initAuthBehaviors(); $this->belongsTo( 'Individuals',