@@ -114,6 +114,11 @@ $this->addBreadcrumb($this->getTitle()) ; | |||
. 'Ils créditent leur compte en vous donnant la somme de leur choix et c\'est ensuite à vous de '.Html::a('mettre à jour', ['user/index']).' leur Crédit en ligne.<br />' | |||
. 'Ceci fait, les clients paient leur commande directement via leur Crédit.') ; ?> | |||
<?= $form->field($model, 'credit_limit_reminder',[ | |||
'template' => '{label}<div class="input-group">{input}<span class="input-group-addon"><span class="glyphicon glyphicon-euro"></span></span></div>{hint}', | |||
]) | |||
->hint("Une relance est envoyé au client dès que ce seuil est dépassé.") ; ?> | |||
<?= $form->field($model, 'photo')->fileInput() ?> | |||
<?php | |||
if (strlen($model->photo)) { |
@@ -0,0 +1,50 @@ | |||
<?php | |||
/** | |||
Copyright La boîte à pain (2018) | |||
contact@laboiteapain.net | |||
Ce logiciel est un programme informatique servant à aider les producteurs | |||
à distribuer leur production en circuits courts. | |||
Ce logiciel est régi par la licence CeCILL soumise au droit français et | |||
respectant les principes de diffusion des logiciels libres. Vous pouvez | |||
utiliser, modifier et/ou redistribuer ce programme sous les conditions | |||
de la licence CeCILL telle que diffusée par le CEA, le CNRS et l'INRIA | |||
sur le site "http://www.cecill.info". | |||
En contrepartie de l'accessibilité au code source et des droits de copie, | |||
de modification et de redistribution accordés par cette licence, il n'est | |||
offert aux utilisateurs qu'une garantie limitée. Pour les mêmes raisons, | |||
seule une responsabilité restreinte pèse sur l'auteur du programme, le | |||
titulaire des droits patrimoniaux et les concédants successifs. | |||
A cet égard l'attention de l'utilisateur est attirée sur les risques | |||
associés au chargement, à l'utilisation, à la modification et/ou au | |||
développement et à la reproduction du logiciel par l'utilisateur étant | |||
donné sa spécificité de logiciel libre, qui peut le rendre complexe à | |||
manipuler et qui le réserve donc à des développeurs et des professionnels | |||
avertis possédant des connaissances informatiques approfondies. Les | |||
utilisateurs sont donc invités à charger et tester l'adéquation du | |||
logiciel à leurs besoins dans des conditions permettant d'assurer la | |||
sécurité de leurs systèmes et ou de leurs données et, plus généralement, | |||
à l'utiliser et l'exploiter dans les mêmes conditions de sécurité. | |||
Le fait que vous puissiez accéder à cet en-tête signifie que vous avez | |||
pris connaissance de la licence CeCILL, et que vous en avez accepté les | |||
termes. | |||
*/ | |||
use yii\helpers\Html; | |||
use common\helpers\Price ; | |||
?> | |||
<p>Bonjour <?= Html::encode($user->name); ?>,</p> | |||
<p>Votre producteur <strong><?= Html::encode($producer->name); ?></strong> vous invite à alimenter votre crédit.</p> | |||
<p>Voici le montant actuel de votre crédit : <strong><?= Price::format($credit); ?></strong></p> | |||
<p>À bientôt.</p> |
@@ -0,0 +1,50 @@ | |||
<?php | |||
/** | |||
Copyright La boîte à pain (2018) | |||
contact@laboiteapain.net | |||
Ce logiciel est un programme informatique servant à aider les producteurs | |||
à distribuer leur production en circuits courts. | |||
Ce logiciel est régi par la licence CeCILL soumise au droit français et | |||
respectant les principes de diffusion des logiciels libres. Vous pouvez | |||
utiliser, modifier et/ou redistribuer ce programme sous les conditions | |||
de la licence CeCILL telle que diffusée par le CEA, le CNRS et l'INRIA | |||
sur le site "http://www.cecill.info". | |||
En contrepartie de l'accessibilité au code source et des droits de copie, | |||
de modification et de redistribution accordés par cette licence, il n'est | |||
offert aux utilisateurs qu'une garantie limitée. Pour les mêmes raisons, | |||
seule une responsabilité restreinte pèse sur l'auteur du programme, le | |||
titulaire des droits patrimoniaux et les concédants successifs. | |||
A cet égard l'attention de l'utilisateur est attirée sur les risques | |||
associés au chargement, à l'utilisation, à la modification et/ou au | |||
développement et à la reproduction du logiciel par l'utilisateur étant | |||
donné sa spécificité de logiciel libre, qui peut le rendre complexe à | |||
manipuler et qui le réserve donc à des développeurs et des professionnels | |||
avertis possédant des connaissances informatiques approfondies. Les | |||
utilisateurs sont donc invités à charger et tester l'adéquation du | |||
logiciel à leurs besoins dans des conditions permettant d'assurer la | |||
sécurité de leurs systèmes et ou de leurs données et, plus généralement, | |||
à l'utiliser et l'exploiter dans les mêmes conditions de sécurité. | |||
Le fait que vous puissiez accéder à cet en-tête signifie que vous avez | |||
pris connaissance de la licence CeCILL, et que vous en avez accepté les | |||
termes. | |||
*/ | |||
use yii\helpers\Html; | |||
use common\helpers\Price ; | |||
?> | |||
Bonjour <?= Html::encode($user->name); ?>, | |||
Votre producteur "<?= Html::encode($producer->name); ?>" vous invite à alimenter votre crédit. | |||
Voici le montant actuel de votre crédit : <?= Price::format($credit); ?> | |||
À bientôt. |
@@ -43,6 +43,7 @@ use common\components\ActiveRecordCommon ; | |||
use yii\db\ActiveRecord; | |||
use common\models\User; | |||
use common\models\Order; | |||
use common\models\Producer; | |||
use yii\helpers\Html; | |||
/** | |||
@@ -186,12 +187,37 @@ class CreditHistory extends ActiveRecordCommon | |||
'id_producer' => $this->id_producer | |||
]) ; | |||
$creditLimitReminder = Producer::getConfig('credit_limit_reminder') ; | |||
$oldCredit = $userProducer->credit ; | |||
if ($userProducer) { | |||
if ($this->isTypeCredit()) { | |||
$userProducer->credit += $this->amount; | |||
} elseif ($this->isTypeDebit()) { | |||
$userProducer->credit -= $this->amount; | |||
} | |||
$newCredit = $userProducer->credit ; | |||
if($oldCredit > $creditLimitReminder && $newCredit <= $creditLimitReminder) { | |||
$user = User::findOne($this->id_user) ; | |||
$producer = Producer::findOne($this->id_producer) ; | |||
Yii::$app->mailer->compose( | |||
[ | |||
'html' => 'creditLimitReminder-html', | |||
'text' => 'creditLimitReminder-text' | |||
], | |||
[ | |||
'user' => $user, | |||
'producer' => $producer, | |||
'credit' => $newCredit | |||
] | |||
) | |||
->setTo($user->email) | |||
->setFrom(['contact@laboiteapain.net' => 'La boîte à pain']) | |||
->setSubject('[La boîte à pain] Seuil limite de crédit dépassé') | |||
->send(); | |||
} | |||
$userProducer->save(); | |||
} | |||
} |
@@ -54,6 +54,7 @@ use yii\helpers\Html; | |||
* @property string $description | |||
* @property string $postcode | |||
* @property string $city | |||
* @property float credit_limit_reminder | |||
*/ | |||
class Producer extends ActiveRecordCommon | |||
{ | |||
@@ -85,7 +86,7 @@ class Producer extends ActiveRecordCommon | |||
[['description', 'order_infos','slug'], 'string'], | |||
[['negative_balance', 'credit', 'active'], 'boolean'], | |||
[['name', 'siret', 'logo', 'photo', 'postcode', 'city', 'code','type'], 'string', 'max' => 255], | |||
['free_price', 'double'], | |||
[['free_price', 'credit_limit_reminder'], 'double'], | |||
['free_price', 'compare', 'compareValue' => 0, 'operator' => '>=', 'type' => 'number', 'message' => 'Prix libre doit être supérieur ou égal à 0'], | |||
]; | |||
} | |||
@@ -113,7 +114,8 @@ class Producer extends ActiveRecordCommon | |||
'date_creation' => 'Date de création', | |||
'order_infos' => 'Informations', | |||
'slug' => 'Slug', | |||
'type' => 'Type de producteur' | |||
'type' => 'Type de producteur', | |||
'credit_limit_reminder' => 'Seuil de crédit limite avant relance', | |||
]; | |||
} | |||
@@ -0,0 +1,15 @@ | |||
<?php | |||
use yii\db\Migration ; | |||
use yii\db\mysql\Schema ; | |||
class m190109_100018_add_field_credit_limit_reminder extends Migration { | |||
public function up() { | |||
$this->addColumn('producer', 'credit_limit_reminder', Schema::TYPE_FLOAT) ; | |||
} | |||
public function down() { | |||
$this->dropColumn('producer', 'credit_limit_reminder') ; | |||
} | |||
} |