fix email edit access error

This commit is contained in:
Yuri Kuznetsov
2024-08-08 13:41:03 +03:00
parent 17c9379c15
commit c247a24db4
2 changed files with 16 additions and 4 deletions
@@ -57,7 +57,14 @@ class CheckFromAddress implements SaveHook
return;
}
if (!$entity->getFromAddress()) {
$fromAddress = $entity->getFromAddress();
// Should be after 'getFromAddress'.
if (!$entity->isAttributeChanged('from')) {
return;
}
if (!$fromAddress) {
throw new BadRequest("No 'from' address");
}
@@ -65,7 +72,7 @@ class CheckFromAddress implements SaveHook
return;
}
$fromAddress = strtolower($entity->getFromAddress());
$fromAddress = strtolower($fromAddress);
foreach ($this->user->getEmailAddressGroup()->getAddressList() as $address) {
if ($fromAddress === strtolower($address)) {
+7 -2
View File
@@ -109,8 +109,11 @@ class Email extends Database implements
public function loadFromField(EmailEntity $entity): void
{
if ($entity->get('fromEmailAddressName')) {
$entity->set('from', $entity->get('fromEmailAddressName'));
$fromEmailAddressName = $entity->get('fromEmailAddressName');
if ($fromEmailAddressName && !$entity->isAttributeChanged('fromEmailAddressName')) {
$entity->set('from', $fromEmailAddressName);
$entity->setFetched('from', $fromEmailAddressName);
return;
}
@@ -122,6 +125,7 @@ class Email extends Database implements
if ($ea) {
$entity->set('from', $ea->get('name'));
$entity->setFetched('from', $ea->get('name'));
return;
}
@@ -132,6 +136,7 @@ class Email extends Database implements
}
$entity->set('from', null);
$entity->setFetched('from', null);
}
public function loadToField(EmailEntity $entity): void