Browse Source

Envoi d'un email au client lorsqu'un producteur lui crédite son compte

master
keun 6 years ago
parent
commit
e69bdca3e0
5 changed files with 72 additions and 2 deletions
  1. +16
    -2
      backend/controllers/UserController.php
  2. +19
    -0
      common/helpers/Mail.php
  3. +11
    -0
      common/helpers/Price.php
  4. +14
    -0
      common/mail/creditUser-html.php
  5. +12
    -0
      common/mail/creditUser-text.php

+ 16
- 2
backend/controllers/UserController.php View File

@@ -17,6 +17,7 @@ use common\models\Etablissement;
use yii\base\UserException;
use common\models\CreditHistorique;
use common\models\Commande;
use common\helpers\Mail;

/**
* UserController implements the CRUD actions for User model.
@@ -187,14 +188,27 @@ class UserController extends BackendController {

public function actionCredit($id) {
$user = User::find()->with('userEtablissement')->where(['id' => $id])->one();
$user_appartient_etablissement = UserEtablissement::findOne(['id_user' => $id, 'id_etablissement' => Yii::$app->user->identity->id_etablissement]);
if (($user_appartient_etablissement) || Yii::$app->user->identity->status == USER::STATUS_ADMIN) {
$user_etablissement = UserEtablissement::findOne(['id_user' => $id, 'id_etablissement' => Yii::$app->user->identity->id_etablissement]);
$etablissement = Etablissement::findOne(Yii::$app->user->identity->id_etablissement) ;
if (($user_etablissement) || Yii::$app->user->identity->status == USER::STATUS_ADMIN) {
$credit_historique = new CreditHistorique;
if ($credit_historique->load(Yii::$app->request->post()) && $credit_historique->validate()) {
$credit_historique->id_user = $user->id;
$credit_historique->id_user_action = Yii::$app->user->identity->id;
$credit_historique->id_etablissement = Yii::$app->user->identity->id_etablissement;
$credit_historique->save();
// on prévient l'utilisateur que son compte vient d'être crédité
if($credit_historique->type == CreditHistorique::TYPE_CREDIT) {
Mail::send($user->email, 'Votre compte vient d\'être crédité','creditUser', [
'user' => $user,
'etablissement' => $etablissement,
'user_etablissement' => $user_etablissement,
'credit_historique' => $credit_historique
]) ;
}
$credit_historique = new CreditHistorique;
}


+ 19
- 0
common/helpers/Mail.php View File

@@ -0,0 +1,19 @@
<?php

namespace common\helpers;

use Yii;

class Mail {
public static function send($email, $subject, $view, $data) {
$mail = Yii::$app->mailer->compose(
[ 'html' => $view.'-html',
'text' => $view.'-text'
],
$data)
->setTo($email)
->setFrom(['contact@laboiteapain.net' => 'La boîte à pain'])
->setSubject('[La boîte à pain] '.$subject)
->send();
}
}

+ 11
- 0
common/helpers/Price.php View File

@@ -0,0 +1,11 @@
<?php

namespace common\helpers;

class Price {
public static function format($number) {
return number_format($number, 2).' €' ;
}
}

+ 14
- 0
common/mail/creditUser-html.php View File

@@ -0,0 +1,14 @@
<?php

use yii\helpers\Html;
use common\helpers\Price;
?>

<p>Bonjour <?= Html::encode($user->prenom); ?>,</p>

<p>Votre producteur <strong><?= Html::encode($etablissement->nom); ?></strong> vient
de créditer votre compte de <strong><?= Price::format($credit_historique->montant); ?></strong> sur le site <a href="http://www.laboiteapain.net/">La boîte à pain</a>.</p>

<p>Votre compte est désormais à <strong><?= Price::format($user_etablissement->credit); ?></strong></p>

<p>À bientôt.</p>

+ 12
- 0
common/mail/creditUser-text.php View File

@@ -0,0 +1,12 @@
<?php

use common\helpers\Price ;

?>
Bonjour <?= $user->prenom; ?>,</p>

Votre producteur <?= $etablissement->nom; ?> vient de créditer votre compte de <?= Price::format($credit_historique->montant); ?> sur le site http://www.laboiteapain.net/

Votre compte est désormais à : <?= Price::format($user_etablissement->credit); ?>.

À bientôt

Loading…
Cancel
Save