Skip to content

Commit

Permalink
WIP
Browse files Browse the repository at this point in the history
  • Loading branch information
vitek-rostislav committed Jun 17, 2019
1 parent 20d2ded commit 8b29b95
Show file tree
Hide file tree
Showing 2 changed files with 41 additions and 1 deletion.
34 changes: 33 additions & 1 deletion packages/framework/src/Model/Customer/CustomerFacade.php
Expand Up @@ -198,7 +198,7 @@ public function editByAdmin($userId, CustomerData $customerData)
$customerData->userData->email,
$customerData->userData->domainId
);
$user->changeEmail($customerData->userData->email, $userByEmailAndDomain);
$this->changeEmail($customerData->userData->email, $userByEmailAndDomain);

$this->em->flush();

Expand Down Expand Up @@ -243,4 +243,36 @@ public function amendCustomerDataFromOrder(User $user, Order $order)

$this->em->flush();
}

/**
* @param string $email
* @param \Shopsys\FrameworkBundle\Model\Customer\User|null $userByEmail
*/
protected function changeEmail(string $email, ?self $userByEmail)
{
$email = mb_strtolower($email);

if ($this !== $userByEmail) {
$this->checkDuplicateEmail($email, $userByEmail);
}

$this->email = $email;
}

/**
* @param string $email
* @param \Shopsys\FrameworkBundle\Model\Customer\User|null $userByEmail
*/
protected function checkDuplicateEmail(string $email, ?User $userByEmail): void
{
if ($userByEmail === null) {
return;
}

$isSameEmail = ($userByEmail->getEmail() === $email);
$isSameDomain = ($userByEmail->getDomainId() === $this->do);
if ($isSameEmail && $isSameDomain) {
throw new \Shopsys\FrameworkBundle\Model\Customer\Exception\DuplicateEmailException($email);
}
}
}
8 changes: 8 additions & 0 deletions packages/framework/src/Model/Customer/User.php
Expand Up @@ -162,6 +162,14 @@ public function edit(UserData $userData, EncoderFactoryInterface $encoderFactory
}
}

/**
* @param string $email
*/
public function setEmail(string $email): void
{
$this->email = mb_strtolower($email);
}

/**
* @param string $email
* @param \Shopsys\FrameworkBundle\Model\Customer\User|null $userByEmail
Expand Down

0 comments on commit 8b29b95

Please sign in to comment.