mirror of
https://github.com/LibreSign/libresign.git
synced 2025-12-18 05:20:45 +01:00
fix: check activity settings only when user account exists
When identification method is email and person has no account, notification was being blocked by activity check for non-existent user. Now checks if user exists before verifying activity notification settings. Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
This commit is contained in:
parent
ce39b110e7
commit
3277ae6d4a
1 changed files with 11 additions and 4 deletions
|
|
@ -60,13 +60,11 @@ class MailNotifyListener implements IEventListener {
|
|||
if ($identifyMethod->getEntity()->isDeletedAccount()) {
|
||||
return;
|
||||
}
|
||||
if ($this->isNotificationDisabledAtActivity($identifyMethod->getEntity()->getIdentifierValue(), SendSignNotificationEvent::FILE_TO_SIGN)) {
|
||||
return;
|
||||
}
|
||||
$email = '';
|
||||
if ($identifyMethod->getName() === 'account') {
|
||||
$userId = $identifyMethod->getEntity()->getIdentifierValue();
|
||||
$email = $this->userManager
|
||||
->get($identifyMethod->getEntity()->getIdentifierValue())
|
||||
->get($userId)
|
||||
->getEMailAddress();
|
||||
} elseif ($identifyMethod->getName() === 'email') {
|
||||
$email = $identifyMethod->getEntity()->getIdentifierValue();
|
||||
|
|
@ -74,6 +72,15 @@ class MailNotifyListener implements IEventListener {
|
|||
if (empty($email)) {
|
||||
return;
|
||||
}
|
||||
|
||||
$users = $this->userManager->getByEmail($email);
|
||||
if (count($users) === 1) {
|
||||
$userId = $users[0]->getUID();
|
||||
if ($this->isNotificationDisabledAtActivity($userId, SendSignNotificationEvent::FILE_TO_SIGN)) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
$isFirstNotification = $this->signRequestMapper->incrementNotificationCounter($signRequest, 'mail');
|
||||
if ($isFirstNotification) {
|
||||
$this->mail->notifyUnsignedUser($signRequest, $email);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue