Browse Source

[Administration] Abonnements : ajustement paiement automatique #487

refactoring
Guillaume Bourgeois 2 years ago
parent
commit
5190e6f197
2 changed files with 33 additions and 17 deletions
  1. +6
    -4
      backend/views/subscription/_form.php
  2. +27
    -13
      common/models/Subscription.php

+ 6
- 4
backend/views/subscription/_form.php View File

<?= $form->field($model, 'week_frequency')->dropDownList([1=>1, 2=>2, 3=>3, 4=>4]) ?> <?= $form->field($model, 'week_frequency')->dropDownList([1=>1, 2=>2, 3=>3, 4=>4]) ?>


<?= $form->field($model, 'auto_payment') <?= $form->field($model, 'auto_payment')
->checkbox()
->hint('Cochez cette case si vous souhaitez que le crédit pain du client soit automatiquement débité lors de la création de la commande.<br />'
. 'Attention, un compte client existant doit être spécifié en haut de ce formulaire.'
. '<br /><strong>Pris en compte uniquement dans le cas d\'un Crédit défini comme optionnel au niveau du point de vente. Dans les autres cas, il sera automatiquement déduit.</strong>') ?>
->dropDownList([
Subscription::AUTO_PAYMENT_DEDUCTED => 'Déduit',
Subscription::AUTO_PAYMENT_YES => 'Oui',
Subscription::AUTO_PAYMENT_NO => 'Non'
])
->hint('Attention, un compte client existant doit être spécifié en haut de ce formulaire.') ?>
<div class="products"> <div class="products">
<h2>Produits</h2> <h2>Produits</h2>

+ 27
- 13
common/models/Subscription.php View File

*/ */
class Subscription extends ActiveRecordCommon class Subscription extends ActiveRecordCommon
{ {
const AUTO_PAYMENT_DEDUCTED = 1;
const AUTO_PAYMENT_YES = 2;
const AUTO_PAYMENT_NO = 0;


/** /**
* @inheritdoc * @inheritdoc
*/ */
$creditFunctioning = $pointSale->getCreditFunctioning(); $creditFunctioning = $pointSale->getCreditFunctioning();


$order->auto_payment = 0; $order->auto_payment = 0;
if ($order->id_user && Producer::getConfig('credit') && $pointSale->credit) {
if ($creditFunctioning == Producer::CREDIT_FUNCTIONING_OPTIONAL) {
$order->auto_payment = $this->auto_payment;
} elseif ($creditFunctioning == Producer::CREDIT_FUNCTIONING_MANDATORY) {
$order->auto_payment = 1;
} elseif ($creditFunctioning == Producer::CREDIT_FUNCTIONING_USER) {
$user = User::findOne($order->id_user);
$userProducer = UserProducer::searchOne([
'id_user' => $order->id_user,
'id_producer' => $distribution->id_producer
]);
if ($userProducer) {
$order->auto_payment = $userProducer->credit_active;
if($this->auto_payment == self::AUTO_PAYMENT_DEDUCTED) {
if ($order->id_user && Producer::getConfig('credit') && $pointSale->credit) {
if ($creditFunctioning == Producer::CREDIT_FUNCTIONING_OPTIONAL) {
$order->auto_payment = 0;
} elseif ($creditFunctioning == Producer::CREDIT_FUNCTIONING_MANDATORY) {
$order->auto_payment = 1;
} elseif ($creditFunctioning == Producer::CREDIT_FUNCTIONING_USER) {
$user = User::findOne($order->id_user);
$userProducer = UserProducer::searchOne([
'id_user' => $order->id_user,
'id_producer' => $distribution->id_producer
]);
if ($userProducer) {
$order->auto_payment = $userProducer->credit_active;
}
} }
} }
} }
elseif($this->auto_payment == self::AUTO_PAYMENT_YES) {
$order->auto_payment = 1;
}
elseif($this->auto_payment == self::AUTO_PAYMENT_NO) {
$order->auto_payment = 0;
}



$order->tiller_synchronization = $order->auto_payment; $order->tiller_synchronization = $order->auto_payment;



Loading…
Cancel
Save