ソースを参照

[Frontend] Message de bienvenue des producteurs #1113

feature/souke
Guillaume Bourgeois 1年前
コミット
e8c74dbeba
4個のファイルの変更33行の追加23行の削除
  1. +19
    -11
      common/logic/User/User/Service/UserUtils.php
  2. +5
    -4
      common/mail/signup-html.php
  3. +6
    -2
      common/mail/signup-text.php
  4. +3
    -6
      frontend/forms/SignupForm.php

+ 19
- 11
common/logic/User/User/Service/UserUtils.php ファイルの表示

@@ -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();
]
]);
}

/**

+ 5
- 4
common/mail/signup-html.php ファイルの表示

@@ -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>

+ 6
- 2
common/mail/signup-text.php ファイルの表示

@@ -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'] ?>

+ 3
- 6
frontend/forms/SignupForm.php ファイルの表示

@@ -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;
}

読み込み中…
キャンセル
保存