Skip to content
Code-Schnipsel Gruppen Projekte
Commit 67c9e8d0 erstellt von Henning Leutz's avatar Henning Leutz :martial_arts_uniform:
Dateien durchsuchen

Merge branch 'next-2.x' into 'main'

fix: consider logout for GuestOrderUser -> destroys session

See merge request !32
Übergeordnete dab70d5a 1e1f453b
Keine zugehörigen Branchen gefunden
Keine zugehörigen Tags gefunden
2 Merge Requests!34Update 'next-3.x' with latest changes from 'main',!32fix: consider logout for GuestOrderUser -> destroys session
Pipeline-Nr. 16482 mit Warnungen bestanden
<?xml version="1.0" encoding="UTF-8"?>
<phive xmlns="https://phar.io/phive">
<phar name="phpstan" version="^1.10.67" installed="1.10.67" location="./tools/phpstan" copy="false"/>
<phar name="phpstan" version="1.*" installed="1.12.13" location="./tools/phpstan" copy="false"/>
<phar name="phpunit" version="^10.5.20" installed="10.5.20" location="./tools/phpunit" copy="false"/>
<phar name="phpcs" version="^3.10.1" installed="3.10.1" location="./tools/phpcs" copy="false"/>
<phar name="phpcbf" version="^3.10.1" installed="3.10.1" location="./tools/phpcbf" copy="false"/>
......
......@@ -21,7 +21,8 @@
"require": {
"php": "^8.1",
"quiqqer/core": "^2",
"quiqqer/order": "^2.5"
"quiqqer/order": "^2.5",
"quiqqer/verification": "^3"
},
"autoload": {
"psr-4": {
......
......@@ -3,24 +3,25 @@
namespace QUI\ERP\Order\Guest;
use QUI;
use QUI\Verification\AbstractVerification;
use QUI\Verification\Entity\LinkVerification;
use QUI\Verification\Enum\VerificationErrorReason;
/**
* Wenn doppelt bestellt wurde
* Muss die Mail verifiziert werden
* Wenn doppelt bestellt wurde,
* muss die Mail verifiziert werden
*/
class EmailVerification extends AbstractVerification
class EmailVerification extends QUI\FrontendUsers\EmailVerification
{
public function onSuccess(): void
public function onSuccess(LinkVerification $verification): void
{
GuestOrder::setGuestOrderFlag();
}
public function onError(): void
public function onError(LinkVerification $verification, VerificationErrorReason $reason): void
{
}
public function getSuccessMessage(): string
public function getSuccessMessage(LinkVerification $verification): string
{
try {
$orderLink = QUI\ERP\Order\Utils\Utils::getOrderProcess(QUI::getRewrite()->getProject())->getUrlRewritten();
......@@ -36,7 +37,7 @@ public function getSuccessMessage(): string
</script>";
}
public function getErrorMessage($reason): string
public function getErrorMessage(LinkVerification $verification, $reason): string
{
return QUI::getLocale()->get('quiqqer/frontend-users', 'message.registration_error');
}
......
......@@ -4,6 +4,7 @@
use Exception;
use QUI;
use QUI\FrontendUsers\EmailVerification;
use QUI\FrontendUsers\Exception\UserAlreadyExistsException;
use QUI\Mail\Mailer;
use QUI\Projects\Project;
......@@ -143,19 +144,27 @@ public static function getAccountCreationLink(QUI\ERP\Order\AbstractOrder $Order
* @return void
* @throws QUI\Exception
* @throws QUI\Verification\Exception
* @throws \DateMalformedStringException
*/
public static function sendEmailVerification(string $email, QUI\Projects\Project $Project = null): void
public static function sendEmailVerification(string $email, null | QUI\Projects\Project $Project = null): void
{
if ($Project === null) {
$Project = QUI::getRewrite()->getProject();
}
$ActivationVerification = new EmailVerification($email, [
'project' => $Project->getName(),
'projectLang' => $Project->getLang()
]);
$verificationFactory = new QUI\Verification\VerificationFactory();
$verification = $verificationFactory->createLinkVerification(
'confirmemail-' . QUI::getUserBySession()->getUUID(),
new EmailVerification(),
[
'uuid' => QUI::getUserBySession()->getUUID(),
'project' => $Project->getName(),
'projectLang' => $Project->getLang(),
'email' => $email
]
);
$activationLink = QUI\Verification\Verifier::startVerification($ActivationVerification, true);
$activationLink = $verification->getVerificationUrl();
$Formatter = QUI::getLocale()->getDateFormatter();
$localeParams = [
......
......@@ -95,6 +95,11 @@ public function setCompanyStatus(bool $status = false): void
$this->setAttribute('isCompany', $status);
}
public function logout(): void
{
QUI::getSession()->destroy();
}
//endregion
//region address
......
0% Lade oder .
You are about to add 0 people to the discussion. Proceed with caution.
Bearbeitung dieser Nachricht zuerst beenden!
Bitte registrieren oder zum Kommentieren