Compare commits

...

3 Commits

Author SHA1 Message Date
Yurii 2d1b28bb3b 9.3.3 2026-03-10 15:12:34 +02:00
Yurii 8508bde4eb fix pinned 2026-03-10 15:12:28 +02:00
Yurii b398004040 sync database currency rates 2026-03-10 11:33:49 +02:00
5 changed files with 10 additions and 4 deletions
@@ -32,6 +32,7 @@ namespace Espo\Classes\RecordHooks\CurrencyRecordRate;
use Espo\Core\Exceptions\Conflict; use Espo\Core\Exceptions\Conflict;
use Espo\Core\Record\DeleteParams; use Espo\Core\Record\DeleteParams;
use Espo\Core\Record\Hook\DeleteHook; use Espo\Core\Record\Hook\DeleteHook;
use Espo\Core\Utils\Currency\DatabasePopulator;
use Espo\Core\WebSocket\Submission; use Espo\Core\WebSocket\Submission;
use Espo\Entities\CurrencyRecordRate; use Espo\Entities\CurrencyRecordRate;
use Espo\ORM\Entity; use Espo\ORM\Entity;
@@ -46,6 +47,7 @@ class AfterDelete implements DeleteHook
public function __construct( public function __construct(
private SyncManager $syncManager, private SyncManager $syncManager,
private Submission $submission, private Submission $submission,
private DatabasePopulator $databasePopulator,
) {} ) {}
public function process(Entity $entity, DeleteParams $params): void public function process(Entity $entity, DeleteParams $params): void
@@ -58,6 +60,7 @@ class AfterDelete implements DeleteHook
throw new Conflict($e->getMessage(), previous: $e); throw new Conflict($e->getMessage(), previous: $e);
} }
$this->databasePopulator->process();
$this->submission->submit('appParamsUpdate'); $this->submission->submit('appParamsUpdate');
} }
} }
@@ -31,6 +31,7 @@ namespace Espo\Classes\RecordHooks\CurrencyRecordRate;
use Espo\Core\Exceptions\Conflict; use Espo\Core\Exceptions\Conflict;
use Espo\Core\Record\Hook\SaveHook; use Espo\Core\Record\Hook\SaveHook;
use Espo\Core\Utils\Currency\DatabasePopulator;
use Espo\Core\WebSocket\Submission; use Espo\Core\WebSocket\Submission;
use Espo\Entities\CurrencyRecordRate; use Espo\Entities\CurrencyRecordRate;
use Espo\ORM\Entity; use Espo\ORM\Entity;
@@ -45,6 +46,7 @@ class AfterSave implements SaveHook
public function __construct( public function __construct(
private SyncManager $syncManager, private SyncManager $syncManager,
private Submission $submission, private Submission $submission,
private DatabasePopulator $databasePopulator,
) {} ) {}
public function process(Entity $entity): void public function process(Entity $entity): void
@@ -57,6 +59,7 @@ class AfterSave implements SaveHook
throw new Conflict($e->getMessage(), previous: $e); throw new Conflict($e->getMessage(), previous: $e);
} }
$this->databasePopulator->process();
$this->submission->submit('appParamsUpdate'); $this->submission->submit('appParamsUpdate');
} }
} }
@@ -141,7 +141,7 @@ class RecordService
]; ];
if ($this->user->isPortal()) { if ($this->user->isPortal()) {
$where[] = ['isInternal' => true]; $where[] = ['isInternal' => false];
} }
$this->applyPortalAccess($builder, $where); $this->applyPortalAccess($builder, $where);
+2 -2
View File
@@ -1,12 +1,12 @@
{ {
"name": "espocrm", "name": "espocrm",
"version": "9.3.2", "version": "9.3.3",
"lockfileVersion": 2, "lockfileVersion": 2,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "espocrm", "name": "espocrm",
"version": "9.3.2", "version": "9.3.3",
"hasInstallScript": true, "hasInstallScript": true,
"license": "AGPL-3.0-or-later", "license": "AGPL-3.0-or-later",
"dependencies": { "dependencies": {
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "espocrm", "name": "espocrm",
"version": "9.3.2", "version": "9.3.3",
"description": "Open-source CRM.", "description": "Open-source CRM.",
"repository": { "repository": {
"type": "git", "type": "git",