diff --git a/application/Espo/Classes/Cleanup/Subscribers.php b/application/Espo/Classes/Cleanup/Subscribers.php index 6429836bf6..afeb88b925 100644 --- a/application/Espo/Classes/Cleanup/Subscribers.php +++ b/application/Espo/Classes/Cleanup/Subscribers.php @@ -77,11 +77,17 @@ class Subscribers implements Cleanup private function processEntityType(string $entityType): void { + /** @var ?array $data */ + $data = $this->metadata->get(['streamDefs', $entityType, 'subscribersCleanup']); + + if (!($data['enabled'] ?? false)) { + return; + } + /** @var string $dateField */ - $dateField = $this->metadata->get(['streamDefs', $entityType, 'subscribersCleanup', 'dateField']) ?? - 'createdAt'; + $dateField = $data['dateField'] ?? 'createdAt'; /** @var ?string[] $statusList */ - $statusList = $this->metadata->get(['streamDefs', $entityType, 'subscribersCleanup', 'statusList']); + $statusList = $data['statusList'] ?? null; /** @var ?string $statusField */ $statusField = $this->metadata->get(['scopes', $entityType, 'statusField']); @@ -126,6 +132,8 @@ class Subscribers implements Cleanup ) ->build(); + print_r($query); + $this->entityManager->getQueryExecutor()->execute($query); } } diff --git a/application/Espo/Modules/Crm/Resources/metadata/streamDefs/Call.json b/application/Espo/Modules/Crm/Resources/metadata/streamDefs/Call.json index afa72ba74b..ab6b3a791e 100644 --- a/application/Espo/Modules/Crm/Resources/metadata/streamDefs/Call.json +++ b/application/Espo/Modules/Crm/Resources/metadata/streamDefs/Call.json @@ -1,6 +1,7 @@ { "followingUsersField": "users", "subscribersCleanup": { + "enabled": true, "dateField": "dateStart", "statusList": ["Held", "Not Held"] } diff --git a/application/Espo/Modules/Crm/Resources/metadata/streamDefs/Meeting.json b/application/Espo/Modules/Crm/Resources/metadata/streamDefs/Meeting.json index afa72ba74b..ab6b3a791e 100644 --- a/application/Espo/Modules/Crm/Resources/metadata/streamDefs/Meeting.json +++ b/application/Espo/Modules/Crm/Resources/metadata/streamDefs/Meeting.json @@ -1,6 +1,7 @@ { "followingUsersField": "users", "subscribersCleanup": { + "enabled": true, "dateField": "dateStart", "statusList": ["Held", "Not Held"] } diff --git a/application/Espo/Modules/Crm/Resources/metadata/streamDefs/Task.json b/application/Espo/Modules/Crm/Resources/metadata/streamDefs/Task.json index 37203c040e..36e69bc75b 100644 --- a/application/Espo/Modules/Crm/Resources/metadata/streamDefs/Task.json +++ b/application/Espo/Modules/Crm/Resources/metadata/streamDefs/Task.json @@ -1,5 +1,6 @@ { "subscribersCleanup": { + "enabled": true, "statusList": ["Completed", "Canceled"] } }