Update cacheTimestamp and microtime values in config.php for improved caching
This commit is contained in:
@@ -1,75 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace Espo\Custom\Hooks\CKndigung;
|
|
||||||
|
|
||||||
use Espo\Core\Hook\Hook\AfterRelate;
|
|
||||||
use Espo\Core\Hook\Hook\AfterUnrelate;
|
|
||||||
use Espo\ORM\Entity;
|
|
||||||
use Espo\ORM\Repository\Option\RelateOptions;
|
|
||||||
use Espo\ORM\Repository\Option\UnrelateOptions;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Hook for synchronizing documents bidirectionally between Kündigung and Mietverhältnis
|
|
||||||
* When documents are added to Kündigung, they should also be linked to the related Mietverhältnis
|
|
||||||
*/
|
|
||||||
class DocumentSync implements AfterRelate, AfterUnrelate
|
|
||||||
{
|
|
||||||
public function __construct()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* After a document is related to Kündigung, also relate it to the linked Mietverhältnis
|
|
||||||
*/
|
|
||||||
public function afterRelate(Entity $entity, string $relationName, Entity $foreignEntity, RelateOptions $options): void
|
|
||||||
{
|
|
||||||
// Only process when relating documents to Kündigung
|
|
||||||
if ($relationName !== 'dokumenteskuendigung') {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Get the related Mietverhältnis
|
|
||||||
$mietverhältnisList = $entity->getLinkMultipleIdList('vmhMietverhltnises');
|
|
||||||
if (empty($mietverhältnisList)) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Get EntityManager from entity
|
|
||||||
$entityManager = $entity->getEntityManager();
|
|
||||||
|
|
||||||
// Link the document to the Mietverhältnis
|
|
||||||
foreach ($mietverhältnisList as $mietverhältnisId) {
|
|
||||||
$mietverhältnis = $entityManager->getEntityById('CVmhMietverhltnis', $mietverhältnisId);
|
|
||||||
if (!$mietverhältnis) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Link document to Mietverhältnis if not already linked
|
|
||||||
$repository = $entityManager->getRDBRepositoryByClass('CVmhMietverhltnis');
|
|
||||||
$isRelated = $repository->getRelation($mietverhältnis, 'dokumentesvmhMietverhltnisse')
|
|
||||||
->isRelatedById($foreignEntity->getId());
|
|
||||||
|
|
||||||
if (!$isRelated) {
|
|
||||||
$repository->getRelation($mietverhältnis, 'dokumentesvmhMietverhltnisse')
|
|
||||||
->relateById($foreignEntity->getId());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* After a document is unrelated from Kündigung, optionally unrelate from Mietverhältnis
|
|
||||||
* Note: We don't automatically unrelate from Mietverhältnis because the document might
|
|
||||||
* have been added to Mietverhältnis independently
|
|
||||||
*/
|
|
||||||
public function afterUnrelate(Entity $entity, string $relationName, Entity $foreignEntity, UnrelateOptions $options): void
|
|
||||||
{
|
|
||||||
// Only process when unrelating documents from Kündigung
|
|
||||||
if ($relationName !== 'dokumenteskuendigung') {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Note: We intentionally do NOT remove documents from Mietverhältnis
|
|
||||||
// because they might have been added there independently.
|
|
||||||
// Users must manually remove documents from Mietverhältnis if needed.
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -360,8 +360,8 @@ return [
|
|||||||
0 => 'youtube.com',
|
0 => 'youtube.com',
|
||||||
1 => 'google.com'
|
1 => 'google.com'
|
||||||
],
|
],
|
||||||
'cacheTimestamp' => 1769338296,
|
'cacheTimestamp' => 1769339551,
|
||||||
'microtime' => 1769338296.697606,
|
'microtime' => 1769339551.259917,
|
||||||
'siteUrl' => 'https://crm.bitbylaw.com',
|
'siteUrl' => 'https://crm.bitbylaw.com',
|
||||||
'fullTextSearchMinLength' => 4,
|
'fullTextSearchMinLength' => 4,
|
||||||
'appTimestamp' => 1768843902,
|
'appTimestamp' => 1768843902,
|
||||||
|
|||||||
Reference in New Issue
Block a user