@@ -47,6 +47,7 @@ use common\models\CreditHistorique; | |||
<p>Votre producteur <strong><?= Html::encode($producer->name); ?></strong> vient | |||
de <?php if($creditForm->type == CreditHistory::TYPE_CREDIT): ?>créditer<?php else: ?>débiter<?php endif; ?> votre compte de <strong><?= Price::format($creditForm->amount); ?></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($userProducer->credit); ?></strong></p> | |||
<p>Votre compte est désormais à <strong><?= Price::format($userProducer->credit); ?></strong><br /> | |||
<a href="<?= Yii::$app->urlManagerProducer->createAbsoluteUrl(['site/credit-history','slug_producer' => $producer->slug]) ?>">Cliquez ici</a> pour voir l'historique de votre crédit.</p> | |||
<p>À bientôt.</p> |
@@ -45,5 +45,6 @@ Bonjour <?= $user->name; ?>,</p> | |||
Votre producteur <?= $producer->name; ?> vient de <?php if($creditForm->type == CreditHistory::TYPE_CREDIT): ?>créditer<?php else: ?>débiter<?php endif; ?> votre compte de <?= Price::format($creditForm->amount); ?> sur le site http://www.laboiteapain.net/ | |||
Votre compte est désormais à : <?= Price::format($userProducer->credit); ?>. | |||
Suivez ce lien pour voir l'historique de votre crédit : <?= Yii::$app->urlManagerProducer->createAbsoluteUrl(['site/credit-history','slug_producer' => $producer->slug]) ?>"> | |||
À bientôt |
@@ -258,7 +258,7 @@ class CreditHistory extends ActiveRecordCommon | |||
public function getAmount($format = false) | |||
{ | |||
if($format) { | |||
return number_format($this->amount,2) .' €' ; | |||
return number_format($this->amount,2) .' €' ; | |||
} | |||
else { | |||
return $this->amount ; | |||
@@ -351,7 +351,7 @@ class CreditHistory extends ActiveRecordCommon | |||
*/ | |||
public function getStrMeanPayment() | |||
{ | |||
self::getStrMeanPaymentBy($this->mean_payment) ; | |||
return self::getStrMeanPaymentBy($this->mean_payment) ; | |||
} | |||
/** |
@@ -0,0 +1,83 @@ | |||
<?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. | |||
*/ | |||
namespace common\models ; | |||
use common\models\CreditHistory ; | |||
class CreditHistorySearch extends CreditHistory | |||
{ | |||
public function rules() | |||
{ | |||
return [ | |||
[['id_user', 'id_user_action', 'id_order', 'id_producer'], 'integer'], | |||
[['date'], 'safe'], | |||
[['amount'], 'double'], | |||
[['type', 'mean_payment', 'comment'], 'string', 'max' => 255], | |||
]; | |||
} | |||
public function search($params) | |||
{ | |||
$optionsSearch = self::defaultOptionsSearch() ; | |||
$query = CreditHistory::find() | |||
->with($optionsSearch['with']) | |||
->innerJoinWith($optionsSearch['join_with'], true) | |||
->where(['credit_history.id_producer' => Producer::getId()]) | |||
->orderBy('id DESC') | |||
; | |||
$dataProvider = new ActiveDataProvider([ | |||
'query' => $query, | |||
'sort' => false, | |||
'pagination' => [ | |||
'pageSize' => 20, | |||
], | |||
]); | |||
$this->load($params); | |||
if (!$this->validate()) { | |||
return $dataProvider; | |||
} | |||
return $dataProvider; | |||
} | |||
} |
@@ -180,6 +180,28 @@ class SiteController extends ProducerBaseController | |||
$this->redirect(['site/index']) ; | |||
} | |||
/** | |||
* Affiche l'historique du crédit client. | |||
* | |||
*/ | |||
public function actionCreditHistory() | |||
{ | |||
$searchModel = new CreditHistorySearch() ; | |||
$dataProvider = $searchModel->search(Yii::$app->request->queryParams); | |||
$userProducer = UserProducer::searchOne([ | |||
'id_producer' => $this->getProducer()->id, | |||
'id_user' => User::getCurrentId() | |||
]) ; | |||
return $this->render('credit_history',[ | |||
'searchModel' => $searchModel, | |||
'dataProvider' => $dataProvider, | |||
'creditUser' => $userProducer->credit | |||
]) ; | |||
} | |||
} | |||
?> |
@@ -116,7 +116,7 @@ $producer = $this->context->getProducer() ; | |||
?> | |||
<div id="credit"> | |||
<span class="info"><a href="<?= Yii::$app->urlManagerFrontend->createAbsoluteUrl('site/credit'); ?>"><span class="text">Crédit </span><span class="glyphicon glyphicon-info-sign"></span></a></span> | |||
<span id="the-credit"><?= number_format($userProducer->credit, 2); ?> €</span> | |||
<a href="<?= Yii::$app->urlManagerProducer->createUrl(['site/credit-history']); ?>"><span id="the-credit"><?= number_format($userProducer->credit, 2); ?> €</span></a> | |||
</div> | |||
<?php endif; ?> | |||
<?php endif; ?> | |||
@@ -171,6 +171,12 @@ $producer = $this->context->getProducer() ; | |||
'visible' => !Yii::$app->user->isGuest, | |||
'active' => $this->getControllerAction() == 'order/history', | |||
], | |||
[ | |||
'label' => '<span class="glyphicon glyphicon-euro"></span> Crédit', | |||
'url' => Yii::$app->urlManager->createUrl(['site/credit-history']), | |||
'visible' => !Yii::$app->user->isGuest && Producer::getConfig('credit'), | |||
'active' => $this->getControllerAction() == 'site/credit-history', | |||
], | |||
[ | |||
'label' => '<span class="glyphicon glyphicon-envelope"></span> Contact', | |||
'url' => Yii::$app->urlManager->createUrl(['site/contact']), |
@@ -0,0 +1,98 @@ | |||
<?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; | |||
$this->setTitle('Crédit : <span id="credit-user">'.number_format($creditUser, 2).' €</span>'); | |||
$this->setPageTitle('Crédit'); | |||
?> | |||
<?= GridView::widget([ | |||
// 'filterModel' => $searchModel, | |||
'dataProvider' => $dataProvider, | |||
'columns' => [ | |||
[ | |||
'attribute' => 'date', | |||
'value' => function($model) { | |||
return $model->getDate(true) ; | |||
} | |||
], | |||
[ | |||
'attribute' => 'id_user_action', | |||
'value' => function($model) { | |||
return $model->strUserAction() ; | |||
} | |||
], | |||
[ | |||
'label' => 'Type', | |||
'format' => 'raw', | |||
'value' => function($model) { | |||
return $model->getStrWording() ; | |||
} | |||
], | |||
[ | |||
'attribute' => 'mean_payment', | |||
'value' => function($model) { | |||
return $model->getStrMeanPayment() ; | |||
} | |||
], | |||
[ | |||
'label' => '- Débit', | |||
'format' => 'raw', | |||
'value' => function($model) { | |||
if($model->isTypeDebit()) { | |||
return '- '.$model->getAmount(true) ; | |||
} | |||
return '' ; | |||
} | |||
], | |||
[ | |||
'label' => '+ Crédit', | |||
'format' => 'raw', | |||
'value' => function($model) { | |||
if($model->isTypeCredit()) { | |||
return '+ '.$model->getAmount(true) ; | |||
} | |||
return '' ; | |||
} | |||
], | |||
], | |||
]); | |||
?> |
@@ -562,6 +562,13 @@ termes. | |||
height: auto; | |||
} | |||
/* line 4, ../sass/site/_credit_history.scss */ | |||
.site-credit-history #credit-user { | |||
color: #BB8757; | |||
font-size: 29px; | |||
font-weight: bold; | |||
} | |||
/** | |||
Copyright La boîte à pain (2018) | |||
@@ -38,6 +38,7 @@ termes. | |||
@import "compass/reset"; | |||
@import "_layout.scss"; | |||
@import "site/_index.scss"; | |||
@import "site/_credit_history.scss"; | |||
@import "order/_form.scss"; | |||
@import "order/_history.scss"; | |||
@import "_responsive.scss"; |
@@ -0,0 +1,9 @@ | |||
.site-credit-history { | |||
#credit-user { | |||
color: $color1 ; | |||
font-size: 29px ; | |||
font-weight: bold ; | |||
} | |||
} |