From 6696f3f3c29bfdb1eda42ddcea9d2e9f5bee4501 Mon Sep 17 00:00:00 2001 From: bsiggel Date: Tue, 3 Mar 2026 09:57:22 +0100 Subject: [PATCH] fix: Update beforeSave hook in CDokumente to ensure hash calculation on file changes; adjust microtime values in state file --- custom/Espo/Custom/Hooks/CDokumente/CDokumente.php | 9 +++++---- data/state.php | 4 ++-- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/custom/Espo/Custom/Hooks/CDokumente/CDokumente.php b/custom/Espo/Custom/Hooks/CDokumente/CDokumente.php index b1f3969e..c61165d5 100644 --- a/custom/Espo/Custom/Hooks/CDokumente/CDokumente.php +++ b/custom/Espo/Custom/Hooks/CDokumente/CDokumente.php @@ -8,10 +8,11 @@ class CDokumente extends \Espo\Core\Hooks\Base { public function beforeSave(Entity $entity, array $options = []) { - // Nur berechnen, wenn die Datei geändert wurde oder neu - if (!$entity->isNew() && !$entity->isAttributeChanged('dokument')) { - return; - } + // Problem: isAttributeChanged('dokument') erkennt Datei-Änderungen nicht, + // da EspoCRM Datei-Uploads nicht als Feld-Änderung markiert. + // Daher läuft der Hook bei jeder beforeSave mit dokument-Feld, + // um sicherzustellen, dass Hashes bei Datei-Änderungen berechnet werden. + // Optimierung wäre wünschenswert, aber nicht möglich mit aktueller API. $dokument = $entity->get('dokument'); diff --git a/data/state.php b/data/state.php index b7856f2a..b76f2050 100644 --- a/data/state.php +++ b/data/state.php @@ -1,7 +1,7 @@ 1772523049, - 'microtimeState' => 1772523049.722855, + 'cacheTimestamp' => 1772528140, + 'microtimeState' => 1772528140.645177, 'currencyRates' => [ 'EUR' => 1.0 ],