// css | // css | ||||
$this->addAsset('css','bootstrap-icons/font/bootstrap-icons.min.css') ; | $this->addAsset('css','bootstrap-icons/font/bootstrap-icons.min.css') ; | ||||
$this->addAsset('css','css/screen.css') ; | |||||
// js | // js | ||||
$this->addAsset('js','js/jquery-ui-1.11.4.custom/jquery-ui.min.js'); | $this->addAsset('js','js/jquery-ui-1.11.4.custom/jquery-ui.min.js'); |
termes. | termes. | ||||
*/ | */ | ||||
return [ | |||||
'adminEmail' => 'contact@souke.fr', | |||||
]; | |||||
return []; |
'orders' => $arrayOrders | 'orders' => $arrayOrders | ||||
] | ] | ||||
) | ) | ||||
->setFrom([Yii::$app->parameterBag->get('adminEmail') => 'distrib']); | |||||
->setFrom([Yii::$app->parameterBag->get('adminEmail') => 'Souke']); | |||||
if (is_array($arrayOrders) && count($arrayOrders)) { | if (is_array($arrayOrders) && count($arrayOrders)) { | ||||
$subject = '[Souke] Commandes du ' . date('d/m', strtotime($date)); | $subject = '[Souke] Commandes du ' . date('d/m', strtotime($date)); |
$userModule = $this->getUserModule(); | $userModule = $this->getUserModule(); | ||||
$this->setTitle('Crédit'); | |||||
$this->setTitle('Cagnotte'); | |||||
?> | ?> | ||||
<span class="info-box-icon <?= $sumUserProducerCredits >= 0 ? 'bg-green' : 'bg-red' ?>"><i | <span class="info-box-icon <?= $sumUserProducerCredits >= 0 ? 'bg-green' : 'bg-red' ?>"><i | ||||
class="fa fa-euro"></i></span> | class="fa fa-euro"></i></span> | ||||
<div class="info-box-content"> | <div class="info-box-content"> | ||||
<span class="info-box-text">Somme totale en crédit</span> | |||||
<span class="info-box-text">Somme totale en cagnotte</span> | |||||
<span class="info-box-number"><?= Price::format($sumUserProducerCredits); ?></span> | <span class="info-box-number"><?= Price::format($sumUserProducerCredits); ?></span> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
<span class="info-box-icon bg-orange"><i class="fa fa-download"></i></span> | <span class="info-box-icon bg-orange"><i class="fa fa-download"></i></span> | ||||
<div class="info-box-content"> | <div class="info-box-content"> | ||||
<span class="info-box-text">Exports<br /> | <span class="info-box-text">Exports<br /> | ||||
<a class="btn btn-default btn-sm" href="<?= Yii::$app->urlManager->createUrl(['credit/export-users', 'type' => 'negative']); ?>">Clients au crédit négatif (CSV)</a> | |||||
<a class="btn btn-default btn-sm" href="<?= Yii::$app->urlManager->createUrl(['credit/export-users', 'type' => 'positive']); ?>">Clients au crédit positif (CSV)</a> | |||||
<a class="btn btn-default btn-sm" href="<?= Yii::$app->urlManager->createUrl(['credit/export-users', 'type' => 'negative']); ?>">Clients avec une cagnotte en négatif (CSV)</a> | |||||
<a class="btn btn-default btn-sm" href="<?= Yii::$app->urlManager->createUrl(['credit/export-users', 'type' => 'positive']); ?>">Clients avec une cagnotte en positif (CSV)</a> | |||||
</span> | </span> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
<h3>Clients avec un crédit négatif</h3> | |||||
<h3>Clients avec une cagnotte en négatif</h3> | |||||
<?= | <?= | ||||
} | } | ||||
], | ], | ||||
[ | [ | ||||
'label' => 'Crédit', | |||||
'label' => 'Cagnotte', | |||||
'format' => 'raw', | 'format' => 'raw', | ||||
'value' => function ($user) { | 'value' => function ($user) { | ||||
return Price::format($user['credit']); | return Price::format($user['credit']); |
<section class="content"> | <section class="content"> | ||||
<?= $this->renderFile('@common/views/alert_message.php', [ | |||||
<?php echo $this->renderFile('@common/views/alert_message.php', [ | |||||
'display' => $adminSettingBag->get('adminAlertMessageDisplay'), | 'display' => $adminSettingBag->get('adminAlertMessageDisplay'), | ||||
'type' => $adminSettingBag->get('adminAlertMessageType'), | 'type' => $adminSettingBag->get('adminAlertMessageType'), | ||||
'title' => $adminSettingBag->get('adminAlertMessageTitle'), | 'title' => $adminSettingBag->get('adminAlertMessageTitle'), | ||||
<?php $producer = GlobalParam::getCurrentProducer(); ?> | <?php $producer = GlobalParam::getCurrentProducer(); ?> | ||||
<?php if($producer && !$producerModule->isUpToDateWithOpendistribVersion($producer) && $producer->option_display_message_new_opendistrib_version): ?> | <?php if($producer && !$producerModule->isUpToDateWithOpendistribVersion($producer) && $producer->option_display_message_new_opendistrib_version): ?> | ||||
<div class="alert alert-success"> | <div class="alert alert-success"> | ||||
<p>Opendistrib a été mis à jour vers la version <?= GlobalParam::getSoukeVersion() ?> ! <a class="alert-link" href="<?= Yii::$app->urlManager->createUrl(['development/index']) ?>">Découvrir les nouveautés</a></p> | |||||
<p>Souke a été mis à jour vers la version <?= GlobalParam::getSoukeVersion() ?> ! <a class="alert-link" href="<?= Yii::$app->urlManager->createUrl(['development/index']) ?>">Découvrir les nouveautés</a></p> | |||||
<a href="<?= Yii::$app->urlManager->createUrl(['producer/update-opendistrib-version']) ?>" class="close"><span aria-hidden="true">×</span></a> | <a href="<?= Yii::$app->urlManager->createUrl(['producer/update-opendistrib-version']) ?>" class="close"><span aria-hidden="true">×</span></a> | ||||
</div> | </div> | ||||
<?php endif; ?> | <?php endif; ?> | ||||
<?= Alert::widget() ?> | |||||
<?php | |||||
$flashTypeArray = ['error' => 'ban', 'danger' => 'ban', 'warning' => 'warning', 'info' => 'info', 'success' => 'check']; | |||||
foreach($flashTypeArray as $flashType => $icon) { | |||||
if(Yii::$app->session->hasFlash($flashType)) { | |||||
echo $this->renderFile('@common/views/alert_message.php', [ | |||||
'display' => true, | |||||
'title' => false, | |||||
'type' => $flashType, | |||||
'icon' => $icon, | |||||
'message' => Yii::$app->session->getFlash($flashType), | |||||
]); | |||||
} | |||||
} | |||||
?> | |||||
<?= $content ?> | <?= $content ?> | ||||
<div class="clr"></div> | <div class="clr"></div> | ||||
</section> | </section> |
<ul class="dropdown-menu"> | <ul class="dropdown-menu"> | ||||
<?php if (count($usersNegativeCreditArray)): ?> | <?php if (count($usersNegativeCreditArray)): ?> | ||||
<li class="header"><a href="<?= Yii::$app->urlManager->createUrl(['credit/index']); ?>">Utilisateurs au crédit négatif</a></li> | |||||
<li class="header"><a href="<?= Yii::$app->urlManager->createUrl(['credit/index']); ?>">Utilisateurs avec une cagnotte en négatif</a></li> | |||||
<li> | <li> | ||||
<ul class="menu"> | <ul class="menu"> | ||||
<?php foreach ($usersNegativeCreditArray as $user): ?> | <?php foreach ($usersNegativeCreditArray as $user): ?> | ||||
</ul> | </ul> | ||||
</li> | </li> | ||||
<?php else: ?> | <?php else: ?> | ||||
<li class="header">Aucun de vos utilisateurs n'a de crédit négatif.</li> | |||||
<li class="header">Aucun de vos utilisateurs n'a de cagnotte en négatif.</li> | |||||
<?php endif; ?> | <?php endif; ?> | ||||
</ul> | </ul> | ||||
'items' => [ | 'items' => [ | ||||
['label' => 'Liste', 'icon' => 'th-list', 'url' => ['/user/index'], 'visible' => $isUserCurrentGrantedAsProducer], | ['label' => 'Liste', 'icon' => 'th-list', 'url' => ['/user/index'], 'visible' => $isUserCurrentGrantedAsProducer], | ||||
[ | [ | ||||
'label' => 'Crédit', | |||||
'label' => 'Cagnotte', | |||||
'icon' => 'euro', | 'icon' => 'euro', | ||||
'url' => ['/credit/index'], | 'url' => ['/credit/index'], | ||||
'template' => '<a href="{url}">{icon} {label}' . $sumUserProducerCreditsLabel . '</a>', | 'template' => '<a href="{url}">{icon} {label}' . $sumUserProducerCreditsLabel . '</a>', |
if (count($pointSale->orders) && strlen($pointSale->$fieldInfosPointSale)) { | if (count($pointSale->orders) && strlen($pointSale->$fieldInfosPointSale)) { | ||||
$html .= '<h3>'.$pointSale->name.'</h3>' ; | $html .= '<h3>'.$pointSale->name.'</h3>' ; | ||||
$colCredit = ($pointSale->credit) ? '<th>Crédit</th>' : '' ; | |||||
$colCredit = ($pointSale->credit) ? '<th>Cagnotte</th>' : '' ; | |||||
$html .= '<table class="table table-bordered">' | $html .= '<table class="table table-bordered">' | ||||
. '<thead>' | . '<thead>' | ||||
} | } | ||||
elseif($orderModule->getPaymentStatus($order) == Order::PAYMENT_SURPLUS) | elseif($orderModule->getPaymentStatus($order) == Order::PAYMENT_SURPLUS) | ||||
{ | { | ||||
$html .= '(surplus : '.$orderModule->getOrderAmount($order, Order::PAYMENT_SURPLUS, true).' à recréditer)' ; | |||||
$html .= '(surplus : '.$orderModule->getOrderAmount($order, Order::PAYMENT_SURPLUS, true).' à rembourser)' ; | |||||
} | } | ||||
$html .= '</strong></td>' ; | $html .= '</strong></td>' ; |
<div v-show="currentSection == 'credit-payment'" class="panel panel-default"> | <div v-show="currentSection == 'credit-payment'" class="panel panel-default"> | ||||
<div class="panel-body"> | <div class="panel-body"> | ||||
<h4>Crédit</h4> | |||||
<h4>Cagnotte</h4> | |||||
<?= $form->field($model, 'credit') | <?= $form->field($model, 'credit') | ||||
->dropDownList(Dropdown::noYesChoices()) | ->dropDownList(Dropdown::noYesChoices()) | ||||
->label('Activer le système de Crédit') | ->label('Activer le système de Crédit') |
<ul class="nav nav-tabs"> | <ul class="nav nav-tabs"> | ||||
<?= menu_navigation_item('view', 'Récapitulatif', $action, $user) ?> | <?= menu_navigation_item('view', 'Récapitulatif', $action, $user) ?> | ||||
<?= menu_navigation_item('update', 'Profil', $action, $user) ?> | <?= menu_navigation_item('update', 'Profil', $action, $user) ?> | ||||
<?= menu_navigation_item('credit', 'Crédit <span class="label label-default badge">'.Price::format($credit).'</span>', $action, $user) ?> | |||||
<?= menu_navigation_item('credit', 'Cagnotte <span class="label label-default badge">'.Price::format($credit).'</span>', $action, $user) ?> | |||||
<?= menu_navigation_item('orders', 'Commandes <span class="label label-default badge">'.$countOrders.'</span>', $action, $user) ?> | <?= menu_navigation_item('orders', 'Commandes <span class="label label-default badge">'.$countOrders.'</span>', $action, $user) ?> | ||||
</ul> | </ul> | ||||
$this->setTitle($username.' (#'.$user->id.')') ; | $this->setTitle($username.' (#'.$user->id.')') ; | ||||
$this->addBreadcrumb(['label' => 'Utilisateurs', 'url' => ['index']]) ; | $this->addBreadcrumb(['label' => 'Utilisateurs', 'url' => ['index']]) ; | ||||
$this->addBreadcrumb(['label' => $username]) ; | $this->addBreadcrumb(['label' => $username]) ; | ||||
$this->addBreadcrumb('Crédit') ; | |||||
$this->addBreadcrumb('Cagnotte') ; | |||||
?> | ?> | ||||
if(!$producer->credit) | if(!$producer->credit) | ||||
{ | { | ||||
echo '<div class="alert alert-warning">Attention, la fonctionnalité <strong>Crédit</strong> est désactivée dans vos <a href="'.Yii::$app->urlManager->createurl(['producer/update']).'">paramètres</a>.' | |||||
echo '<div class="alert alert-warning">Attention, la fonctionnalité <strong>Cagnotte</strong> est désactivée dans vos <a href="'.Yii::$app->urlManager->createurl(['producer/update']).'">paramètres</a>.' | |||||
. ' Pensez à l\'activer si vous souhaitez qu\'elle soit visible de vos utilisateurs.</div>' ; | . ' Pensez à l\'activer si vous souhaitez qu\'elle soit visible de vos utilisateurs.</div>' ; | ||||
} | } | ||||
?> | ?> | ||||
<div class="panel panel-default"> | <div class="panel panel-default"> | ||||
<div class="panel-heading"> | <div class="panel-heading"> | ||||
<h3 class="panel-title"> | <h3 class="panel-title"> | ||||
Crédit obligatoire | |||||
Cagnotte obligatoire | |||||
<?= Html::a($userProducer->credit_active ? 'Désactiver' : 'Activer', ['user/state-credit', 'idUser' => $user->id,'state' => !$userProducer->credit_active], ['class' => 'btn btn-default btn-xs']); ?> | <?= Html::a($userProducer->credit_active ? 'Désactiver' : 'Activer', ['user/state-credit', 'idUser' => $user->id,'state' => !$userProducer->credit_active], ['class' => 'btn btn-default btn-xs']); ?> | ||||
</h3> | </h3> | ||||
</div> | </div> | ||||
<div class="panel-body"> | <div class="panel-body"> | ||||
<p class="info"> | <p class="info"> | ||||
<span class="glyphicon glyphicon-info-sign"></span> | <span class="glyphicon glyphicon-info-sign"></span> | ||||
Active ou désactive le crédit de l'utilisateur pour les points de vente | |||||
Active ou désactive la cagnotte de l'utilisateur pour les points de vente | |||||
avec l'option <em>Basée sur l'utilisateur</em>. | avec l'option <em>Basée sur l'utilisateur</em>. | ||||
</p> | </p> | ||||
<?php if($userProducer->credit_active): ?> | <?php if($userProducer->credit_active): ?> |
</span> | </span> | ||||
</li> | </li> | ||||
<li class="list-group-item"> | <li class="list-group-item"> | ||||
<strong>Crédit obligatoire</strong> | |||||
<strong>Cagnotte obligatoire</strong> | |||||
<span class="pull-right"> | <span class="pull-right"> | ||||
<?php $creditActive = $userModule->getRepository()->getCreditActive($model) ?> | <?php $creditActive = $userModule->getRepository()->getCreditActive($model) ?> | ||||
<span class="label label-<?= $creditActive ? 'success' : 'default' ?>"> | <span class="label label-<?= $creditActive ? 'success' : 'default' ?>"> |
); | ); | ||||
appAlerts.alert( | appAlerts.alert( | ||||
'info', | 'info', | ||||
'Pensez à bien recréditer les clients qui auraient passé commande en utilisant leur crédit.', | |||||
'Pensez à bien rembourser les clients qui auraient passé commande en utilisant leur cagnotte.', | |||||
6000 | 6000 | ||||
); | ); | ||||
} else { | } else { |
}, | }, | ||||
{ | { | ||||
name: 'credit-payment', | name: 'credit-payment', | ||||
nameDisplay: 'Crédit', | |||||
nameDisplay: 'Cagnotte', | |||||
isAdminSection: 0 | isAdminSection: 0 | ||||
}, | }, | ||||
{ | { |
'slug' => 'waiting-paiement-on-delivery' | 'slug' => 'waiting-paiement-on-delivery' | ||||
], | ], | ||||
'waiting-paiement-by-credit' => [ | 'waiting-paiement-by-credit' => [ | ||||
'name' => 'En attente de paiement par crédit', | |||||
'name' => 'En attente de paiement par cagnotte', | |||||
'color' => '#e19a4d', | 'color' => '#e19a4d', | ||||
'nextStatusAllow' => ['paid-by-credit', 'canceled'], | 'nextStatusAllow' => ['paid-by-credit', 'canceled'], | ||||
'slug' => 'waiting-paiement-by-credit' | 'slug' => 'waiting-paiement-by-credit' | ||||
], | ], | ||||
'paid-by-credit' => [ | 'paid-by-credit' => [ | ||||
'name' => 'Payé par crédit', | |||||
'name' => 'Payé via cagnotte', | |||||
'color' => '#3180d5', | 'color' => '#3180d5', | ||||
'nextStatusAllow' => ['waiting-delivery'], | 'nextStatusAllow' => ['waiting-delivery'], | ||||
'slug' => 'paid-by-credit' | 'slug' => 'paid-by-credit' |
<p>Bonjour <?= Html::encode($user->name); ?>,</p> | <p>Bonjour <?= Html::encode($user->name); ?>,</p> | ||||
<p>Nous vous confirmons que votre compte vient d'être crédité de <strong><?= number_format($amount, 2) ?> €</strong>. | |||||
<p>Nous vous confirmons que votre cagnotte vient d'être créditée de <strong><?= number_format($amount, 2) ?> €</strong>. | |||||
<p>Votre compte est désormais à <strong><?= Price::format($userProducer->credit); ?></strong><br /> | <p>Votre compte est désormais à <strong><?= Price::format($userProducer->credit); ?></strong><br /> | ||||
<a href="<?= Yii::$app->urlManagerProducer->createAbsoluteUrl(['credit/history','slug_producer' => $producer->slug]) ?>">Cliquez ici</a> pour voir l'historique de votre crédit.</p> | |||||
<a href="<?= Yii::$app->urlManagerProducer->createAbsoluteUrl(['credit/history','slug_producer' => $producer->slug]) ?>">Cliquez ici</a> pour voir l'historique de votre cagnotte.</p> | |||||
À bientôt,<br /> | À bientôt,<br /> | ||||
<?= Html::encode($producer->name); ?> | <?= Html::encode($producer->name); ?> |
Bonjour <?= Html::encode($user->name); ?>, | Bonjour <?= Html::encode($user->name); ?>, | ||||
Nous vous confirmons que votre compte vient d'être crédité de <?= Price::format($amount, 2) ?> €. | |||||
Nous vous confirmons que votre cagnotte vient d'être créditée de <?= Price::format($amount, 2) ?> €. | |||||
Votre compte est désormais à <?= Price::format($userProducer->credit); ?>. | Votre compte est désormais à <?= Price::format($userProducer->credit); ?>. | ||||
<p>Bonjour <?= Html::encode($user->name); ?>,</p> | <p>Bonjour <?= Html::encode($user->name); ?>,</p> | ||||
<p>Votre producteur <strong><?= Html::encode($producer->name); ?></strong> vous invite à alimenter votre crédit.</p> | |||||
<p>Votre producteur <strong><?= Html::encode($producer->name); ?></strong> vous invite à alimenter votre cagnotte.</p> | |||||
<p>Voici le montant actuel de votre crédit : <strong><?= Price::format($credit); ?></strong></p> | |||||
<p>Voici le montant actuel de votre cagnotte : <strong><?= Price::format($credit); ?></strong></p> | |||||
<p>À bientôt.</p> | <p>À bientôt.</p> |
Bonjour <?= Html::encode($user->name); ?>, | Bonjour <?= Html::encode($user->name); ?>, | ||||
Votre producteur "<?= Html::encode($producer->name); ?>" vous invite à alimenter votre crédit. | |||||
Votre producteur "<?= Html::encode($producer->name); ?>" vous invite à alimenter votre cagnotte. | |||||
Voici le montant actuel de votre crédit : <?= Price::format($credit); ?> | |||||
Voici le montant actuel de votre cagnotte : <?= Price::format($credit); ?> | |||||
À bientôt. | À bientôt. |
de <?php if($type == Payment::TYPE_CREDIT): ?>créditer<?php else: ?>débiter<?php endif; ?> votre compte de <strong><?= Price::format($amount); ?></strong> sur le site <a href="https://www.souke.fr/">Souke</a>.</p> | de <?php if($type == Payment::TYPE_CREDIT): ?>créditer<?php else: ?>débiter<?php endif; ?> votre compte de <strong><?= Price::format($amount); ?></strong> sur le site <a href="https://www.souke.fr/">Souke</a>.</p> | ||||
<p>Votre compte est désormais à <strong><?= Price::format($credit); ?></strong><br /> | <p>Votre compte est désormais à <strong><?= Price::format($credit); ?></strong><br /> | ||||
<a href="<?= Yii::$app->urlManagerProducer->createAbsoluteUrl(['credit/history','slug_producer' => $producer->slug]) ?>">Cliquez ici</a> pour voir l'historique de votre crédit.</p> | |||||
<a href="<?= Yii::$app->urlManagerProducer->createAbsoluteUrl(['credit/history','slug_producer' => $producer->slug]) ?>">Cliquez ici</a> pour voir l'historique de votre cagnotte.</p> | |||||
<p>À bientôt.</p> | <p>À bientôt.</p> |
Votre producteur <?= $producer->name; ?> vient de <?php if($type == Payment::TYPE_CREDIT): ?>créditer<?php else: ?>débiter<?php endif; ?> votre compte de <?= Price::format($amount); ?> sur le site https://www.souke.fr/ | Votre producteur <?= $producer->name; ?> vient de <?php if($type == Payment::TYPE_CREDIT): ?>créditer<?php else: ?>débiter<?php endif; ?> votre compte de <?= Price::format($amount); ?> sur le site https://www.souke.fr/ | ||||
Votre compte est désormais à : <?= Price::format($credit); ?>. | Votre compte est désormais à : <?= Price::format($credit); ?>. | ||||
Suivez ce lien pour voir l'historique de votre crédit : <?= Yii::$app->urlManagerProducer->createAbsoluteUrl(['credit/history','slug_producer' => $producer->slug]) ?>"> | |||||
Suivez ce lien pour voir l'historique de votre cagnotte : <?= Yii::$app->urlManagerProducer->createAbsoluteUrl(['credit/history','slug_producer' => $producer->slug]) ?>"> | |||||
À bientôt | À bientôt |
} | } | ||||
a { | a { | ||||
color: #FF7F00 ; | |||||
color: #ee6f42 ; | |||||
} | } | ||||
#header .icon { | #header .icon { | ||||
text-align: center ; | text-align: center ; | ||||
} | } | ||||
#link-distrib { | |||||
text-decoration: none ; | |||||
color: #FF7F00 ; | |||||
} | |||||
#link-distrib img { | #link-distrib img { | ||||
width: 45px ; | width: 45px ; | ||||
} | } |
<?= $content ?> | <?= $content ?> | ||||
-- | -- | ||||
distrib | Plateforme de gestion de commandes | |||||
http://www.laboiteapain.net/ | |||||
Souke | Plateforme de gestion de commandes | |||||
https://www.souke.fr/ | |||||
<?php $this->endBody() ?> | <?php $this->endBody() ?> | ||||
<?php $this->endPage() ?> | <?php $this->endPage() ?> |
'date' => $distribution->date, | 'date' => $distribution->date, | ||||
'orders' => $ordersArray | 'orders' => $ordersArray | ||||
] | ] | ||||
)->setFrom([\Yii::$app->parameterBag->get('adminEmail') => 'Opendistrib']); | |||||
)->setFrom([\Yii::$app->parameterBag->get('adminEmail') => 'Souke']); | |||||
if (count($ordersArray)) { | if (count($ordersArray)) { | ||||
$subject = '[Souke] Commandes du ' . date('d/m', strtotime($distribution->date)); | $subject = '[Souke] Commandes du ' . date('d/m', strtotime($distribution->date)); |
$html .= '<h3>'.$pointSale->name.'</h3>' ; | $html .= '<h3>'.$pointSale->name.'</h3>' ; | ||||
$columnDeliveryNote = ($producer->option_export_display_column_delivery_note) ? '<th>BL</th>' : ''; | $columnDeliveryNote = ($producer->option_export_display_column_delivery_note) ? '<th>BL</th>' : ''; | ||||
$colCredit = ($pointSale->credit) ? '<th>Crédit</th>' : '' ; | |||||
$colCredit = ($pointSale->credit) ? '<th>Cagnotte</th>' : '' ; | |||||
$html .= '<table class="">' | $html .= '<table class="">' | ||||
. '<thead>' | . '<thead>' |
$mainPayment = $this->getMainPayment($order); | $mainPayment = $this->getMainPayment($order); | ||||
if($mainPayment) { | if($mainPayment) { | ||||
if($this->paymentSolver->isMeanPaymentCredit($mainPayment)) { | if($this->paymentSolver->isMeanPaymentCredit($mainPayment)) { | ||||
$label = 'Crédit débité'; | |||||
$label = 'Cagnotte débitée'; | |||||
} | } | ||||
else { | else { | ||||
$strMeanPayment = strtolower(MeanPayment::getStrBy($mainPayment->mean_payment)); | $strMeanPayment = strtolower(MeanPayment::getStrBy($mainPayment->mean_payment)); |
$credit = $this->userRepository->getCredit($user, true); | $credit = $this->userRepository->getCredit($user, true); | ||||
$this->mailer->sendFromProducer( | $this->mailer->sendFromProducer( | ||||
'Mouvement de crédit', | |||||
'Mouvement de cagnotte', | |||||
'creditUser', | 'creditUser', | ||||
[ | [ | ||||
'user' => $user, | 'user' => $user, |
'infos_saturday' => 'Samedi', | 'infos_saturday' => 'Samedi', | ||||
'infos_sunday' => 'Dimanche', | 'infos_sunday' => 'Dimanche', | ||||
'restricted_access' => 'Accès restreint', | 'restricted_access' => 'Accès restreint', | ||||
'credit' => 'Activer le Crédit', | |||||
'credit' => 'Activer la cagnotte', | |||||
'delivery_monday' => 'Lundi', | 'delivery_monday' => 'Lundi', | ||||
'delivery_tuesday' => 'Mardi', | 'delivery_tuesday' => 'Mardi', | ||||
'delivery_wednesday' => 'Mercredi', | 'delivery_wednesday' => 'Mercredi', | ||||
'delivery_saturday' => 'Samedi', | 'delivery_saturday' => 'Samedi', | ||||
'delivery_sunday' => 'Dimanche', | 'delivery_sunday' => 'Dimanche', | ||||
'code' => 'Code', | 'code' => 'Code', | ||||
'credit_functioning' => 'Utilisation du Crédit par l\'utilisateur', | |||||
'credit_functioning' => 'Fonctionnement de la cagnotte', | |||||
'default' => 'Point de vente par défaut', | 'default' => 'Point de vente par défaut', | ||||
'id_user' => 'Contact facturation', | 'id_user' => 'Contact facturation', | ||||
'product_price_percent' => 'Prix produits : pourcentage', | 'product_price_percent' => 'Prix produits : pourcentage', |
const CREDIT_FUNCTIONING_USER = 'user'; | const CREDIT_FUNCTIONING_USER = 'user'; | ||||
const HINT_CREDIT_FUNCTIONING = '<ul>' | const HINT_CREDIT_FUNCTIONING = '<ul>' | ||||
. '<li>Optionnelle : l\'utilisateur choisit s\'il utilise son Crédit ou non. Les commandes peuvent être payées ou impayées.</li>' | |||||
. '<li>Obligatoire : toutes les commandes de l\'utilisateur son comptabilisées au niveau du Crédit. Toutes les commandes sont payées.</li>' | |||||
. '<li>Basée sur l\'utilisateur : Crédit obligatoire si l\'utilisateur a le crédit activé au niveau de son compte, système de Crédit non affiché sinon.</li>' | |||||
. '<li>Optionnelle : l\'utilisateur choisit s\'il utilise sa cagnotte ou non. Les commandes peuvent être payées ou impayées.</li>' | |||||
. '<li>Obligatoire : toutes les commandes de l\'utilisateur son comptabilisées au niveau de la cagnotte. Toutes les commandes sont payées.</li>' | |||||
. '<li>Basée sur l\'utilisateur : cagnotte obligatoire si l\'utilisateur a sa cagnotte activée au niveau de son compte, cagnotte non affichée sinon.</li>' | |||||
. '</ul>'; | . '</ul>'; | ||||
public static $creditFunctioningArray = [ | public static $creditFunctioningArray = [ | ||||
'order_delay_sunday' => 'Délai de commande (dimanche)', | 'order_delay_sunday' => 'Délai de commande (dimanche)', | ||||
'order_deadline_sunday' => 'Heure limite de commande (dimanche)', | 'order_deadline_sunday' => 'Heure limite de commande (dimanche)', | ||||
'negative_balance' => 'Solde négatif', | 'negative_balance' => 'Solde négatif', | ||||
'credit' => 'Crédit pain', | |||||
'credit' => 'Cagnotte', | |||||
'active' => 'Actif', | 'active' => 'Actif', | ||||
'date_creation' => 'Date de création', | 'date_creation' => 'Date de création', | ||||
'order_infos' => 'Informations', | 'order_infos' => 'Informations', | ||||
'slug' => 'Slug', | 'slug' => 'Slug', | ||||
'type' => 'Type de producteur', | 'type' => 'Type de producteur', | ||||
'credit_limit_reminder' => 'Seuil de crédit limite avant relance', | |||||
'credit_limit_reminder' => 'Seuil de cagnotte limite avant relance', | |||||
'online_payment' => 'Activer le paiement en ligne (Stripe)', | 'online_payment' => 'Activer le paiement en ligne (Stripe)', | ||||
'option_online_payment_type' => 'Type de paiement', | 'option_online_payment_type' => 'Type de paiement', | ||||
'option_stripe_mode_test' => 'Mode test', | 'option_stripe_mode_test' => 'Mode test', | ||||
'mentions' => 'Mentions légales', | 'mentions' => 'Mentions légales', | ||||
'gcs' => 'Conditions générales de vente', | 'gcs' => 'Conditions générales de vente', | ||||
'option_allow_user_gift' => 'Autoriser les utilisateurs à effectuer un don à la plateforme lors de leur commande', | 'option_allow_user_gift' => 'Autoriser les utilisateurs à effectuer un don à la plateforme lors de leur commande', | ||||
'credit_functioning' => 'Utilisation du Crédit par l\'utilisateur', | |||||
'credit_limit' => 'Crédit limite', | |||||
'use_credit_checked_default' => 'Cocher par défaut l\'option "Utiliser mon crédit" lors de la commande de l\'utilisateur', | |||||
'credit_functioning' => 'Fonctionnement de la cagnotte', | |||||
'credit_limit' => 'Cagnotte : montant limite', | |||||
'use_credit_checked_default' => 'Cocher par défaut l\'option "Utiliser ma cagnotte" lors de la commande de l\'utilisateur', | |||||
'background_color_logo' => 'Couleur de fond du logo', | 'background_color_logo' => 'Couleur de fond du logo', | ||||
'option_behavior_cancel_order' => 'Comportement lors de la suppression d\'une commande', | 'option_behavior_cancel_order' => 'Comportement lors de la suppression d\'une commande', | ||||
'tiller' => 'Tiller', | 'tiller' => 'Tiller', |
} | } | ||||
/** | /** | ||||
* Retourne le mode de fonctionnement du crédit d'un point de vente. | |||||
* Retourne le mode de fonctionnement de la cagnotte d'un point de vente. | |||||
*/ | */ | ||||
public function getPointSaleCreditFunctioning(PointSale $pointSale): string | public function getPointSaleCreditFunctioning(PointSale $pointSale): string | ||||
{ | { |
} | } | ||||
/** | /** | ||||
* Retourne le crédit de l'utilisateur pour un producteur donné. | |||||
* Retourne le montant de la cagnotte de l'utilisateur pour un producteur donné. | |||||
* | * | ||||
*/ | */ | ||||
public function getCredit(User $user, bool $reloadUserProducer = false): float | public function getCredit(User $user, bool $reloadUserProducer = false): float |
} | } | ||||
$data = [ | $data = [ | ||||
['Client', 'Email', 'Téléphone', 'Crédit'] | |||||
['Client', 'Email', 'Téléphone', 'Cagnotte'] | |||||
]; | ]; | ||||
foreach($usersArray as $user) { | foreach($usersArray as $user) { | ||||
$data[] = [ | $data[] = [ |
'id_producer' => 'Producteur', | 'id_producer' => 'Producteur', | ||||
'active' => 'Actif', | 'active' => 'Actif', | ||||
'bookmark' => 'Favoris', | 'bookmark' => 'Favoris', | ||||
'credit_active' => 'Crédit', | |||||
'credit_active' => 'Cagnotte', | |||||
'product_price_percent' => 'Prix produits : pourcentage', | 'product_price_percent' => 'Prix produits : pourcentage', | ||||
'trust_alert' => 'Alert confiance', | 'trust_alert' => 'Alert confiance', | ||||
'trust_alert_comment' => 'Commentaire', | 'trust_alert_comment' => 'Commentaire', |
) | ) | ||||
->setTo($user->email) | ->setTo($user->email) | ||||
->setFrom(['contact@souke.fr' => 'Souke']) | ->setFrom(['contact@souke.fr' => 'Souke']) | ||||
->setSubject('[Souke] Seuil limite de crédit dépassé') | |||||
->setSubject('[Souke] Seuil limite de cagnotte dépassé') | |||||
->send(); | ->send(); | ||||
} | } | ||||
} | } |
} | } | ||||
/** | /** | ||||
* Affiche les précisions concernant l'utilisation du crédit. | |||||
* Affiche les précisions concernant l'utilisation de la cagnotte | |||||
*/ | */ | ||||
public function actionCredit() | public function actionCredit() | ||||
{ | { |
<!DOCTYPE html> | <!DOCTYPE html> | ||||
<html lang="fr"> | <html lang="fr"> | ||||
<head> | <head> | ||||
<title><?php if ($isHome): ?>Souke • <?= Html::encode($this->title) ?><?php else: ?><?= Html::encode($this->page_title) ?> • Souke<?php endif; ?></title> | |||||
<title><?php if ($isHome): ?>Souke |<?= Html::encode($this->title) ?><?php else: ?><?= Html::encode($this->page_title) ?> | Souke<?php endif; ?></title> | |||||
<meta charset="utf-8"> | <meta charset="utf-8"> | ||||
<meta name="viewport" content="width=device-width, initial-scale=1"> | <meta name="viewport" content="width=device-width, initial-scale=1"> | ||||
<meta name="baseurl" content="<?= Yii::$app->urlManagerFrontend->baseUrl; ?>"> | <meta name="baseurl" content="<?= Yii::$app->urlManagerFrontend->baseUrl; ?>"> |
'price_data' => [ | 'price_data' => [ | ||||
'currency' => 'eur', | 'currency' => 'eur', | ||||
'product_data' => [ | 'product_data' => [ | ||||
'name' => 'Alimentation crédit', | |||||
'name' => 'Alimentation cagnotte', | |||||
], | ], | ||||
'unit_amount' => (float)$creditForm->amount * 100, | 'unit_amount' => (float)$creditForm->amount * 100, | ||||
], | ], | ||||
$userProducer = $this->getUserProducerModule()->findOneUserProducer($user); | $userProducer = $this->getUserProducerModule()->findOneUserProducer($user); | ||||
\Yii::$app->mailerService->sendFromProducer( | \Yii::$app->mailerService->sendFromProducer( | ||||
'Alimentation de votre crédit', | |||||
'Alimentation de votre cagnotte', | |||||
'creditConfirm', | 'creditConfirm', | ||||
[ | [ | ||||
'user' => $user, | 'user' => $user, |
$I = new FunctionalTester($scenario); | $I = new FunctionalTester($scenario); | ||||
$I->wantTo("m'assurer que les pages de la section Crédit s'affichent correctement"); | |||||
$I->wantTo("m'assurer que les pages de la section Cagnotte s'affichent correctement"); | |||||
$I->amLoggedInAs(1); | $I->amLoggedInAs(1); | ||||
$I->amOnPage('/demo/credit/history'); | $I->amOnPage('/demo/credit/history'); | ||||
$I->see('Crédit', 'h2'); | |||||
$I->see('Cagnotte', 'h2'); | |||||
$I->amOnPage('/demo/credit/add'); | $I->amOnPage('/demo/credit/add'); | ||||
$I->see('Créditer mon compte', 'h2'); | |||||
$I->see('Créditer ma cagnotte', 'h2'); | |||||