@@ -3,6 +3,7 @@ | |||
namespace common\logic\User\User\Service; | |||
use common\helpers\GlobalParam; | |||
use common\helpers\Mailjet; | |||
use common\logic\AbstractService; | |||
use common\logic\Producer\Producer\Model\Producer; | |||
use common\logic\User\User\Model\User; | |||
@@ -10,21 +11,28 @@ use common\logic\UtilsInterface; | |||
class UserUtils extends AbstractService implements UtilsInterface | |||
{ | |||
protected UserSolver $userSolver; | |||
public function loadDependencies(): void | |||
{ | |||
$this->userSolver = $this->loadService(UserSolver::class); | |||
} | |||
public function sendEmailSignup(User $user, Producer $producer) | |||
{ | |||
\Yii::$app->mailer->compose( | |||
[ | |||
'html' => 'signup-html', | |||
'text' => 'signup-text' | |||
], | |||
[ | |||
Mailjet::sendMail([ | |||
'from_email' => \Yii::$app->params['adminEmail'], | |||
'from_name' => 'Opendistrib', | |||
'to_email' => $user->email, | |||
'to_name' => $this->userSolver->getUsername($user), | |||
'subject' => '[Opendistrib] Inscription', | |||
'content_view_text' => '@common/mail/signup-text.php', | |||
'content_view_html' => '@common/mail/signup-html.php', | |||
'content_params' => [ | |||
'user' => $user, | |||
'producer' => $producer | |||
]) | |||
->setTo($user->email) | |||
->setFrom([\Yii::$app->params['adminEmail'] => 'distrib']) | |||
->setSubject('[Opendistrib] Inscription') | |||
->send(); | |||
] | |||
]); | |||
} | |||
/** |
@@ -49,14 +49,15 @@ use common\logic\User\User\Model\User; | |||
<strong><?= Html::encode($user->email) ?></strong></p> | |||
<?php if($user->status == User::STATUS_PRODUCER): ?> | |||
<p>Vous pouvez dès maintenant vous connecter à votre <a href="<?= Yii::$app->urlManagerBackend->createAbsoluteUrl(['site/index']); ?>">Espace producteur</a> pour mettre | |||
en place votre système de réservation.</p> | |||
<p>Vous pouvez dès maintenant vous connecter à l'<a href="<?= Yii::$app->urlManagerBackend->createAbsoluteUrl(['site/index']); ?>">administration</a> pour configurer votre compte producteur.</p> | |||
<p>Si vous avez des questions ou si vous avez besoin d'être accompagné lors de cette étape, n'hésitez pas à me contacter en réponse à ce mail ou directement au <strong><?= Yii::$app->params['adminPhoneNumber'] ?></strong>.</p> | |||
<?php else: ?> | |||
<?php if(!is_null($producer)): ?> | |||
<p>Vous pouvez maintenant <a href="<?= Yii::$app->urlManagerProducer->createAbsoluteUrl(['site/index', 'slug_producer' => $producer->slug]); ?>">passer commande</a> chez votre producteur <strong><?= Html::encode($producer->name); ?></strong>.</p> | |||
<?php else: ?> | |||
<p>Vous pouvez maintenant passer commande chez votre producteur.</p> | |||
<p>Vous pouvez maintenant passer commande chez votre producteur.</p> | |||
<?php endif; ?> | |||
<?php endif; ?> | |||
<p>À bientôt.</p> | |||
<p>À bientôt,<br /> | |||
<?= Yii::$app->params['adminFirstname'] ?></p> |
@@ -48,7 +48,10 @@ Voici votre identifiant de connexion : | |||
<?= $user->email ?> | |||
<?php if($user->status == User::STATUS_PRODUCER): ?> | |||
Vous pouvez dès maintenant vous connecter à votre Espace boulanger pour mettre en place votre système de réservation : | |||
Vous pouvez dès maintenant vous connecter à l'administration pour configurer votre compte : | |||
<?= Yii::$app->urlManagerBackend->createAbsoluteUrl(['site/index']); ?> | |||
Si vous avez des questions ou si vous avez besoin d'être accompagné lors de cette étape, n'hésitez pas à me contacter en réponse à ce mail ou directement au <?= Yii::$app->params['adminPhoneNumber'] ?>. | |||
<?= Yii::$app->urlManagerBackend->createAbsoluteUrl(['site/index']); ?> | |||
<?php else: ?> | |||
<?php if(!is_null($producer)): ?> | |||
@@ -59,4 +62,5 @@ Vous pouvez maintenant passer commande chez votre producteur. | |||
<?php endif; ?> | |||
<?php endif; ?> | |||
À bientôt. | |||
À bientôt, | |||
<?= Yii::$app->params['adminFirstname'] ?> |
@@ -250,14 +250,11 @@ class SignupForm extends Model | |||
$producer = $producerManager->findOneProducerById($idProducer); | |||
if ($user->save() && $producer) { | |||
// Liaison User / Producer | |||
\Yii::$app->logic->setProducerContext($producer); | |||
$producerManager->addUser($user, $producer); | |||
// Envoi d'un email de bienvenue à l'utilisateur | |||
if ($this->isCustomer()) { | |||
$userManager->sendEmailSignup($user, $producer); | |||
} | |||
$producerManager->addUser($user, $producer); | |||
$userManager->sendEmailSignup($user, $producer); | |||
return $user; | |||
} |