Browse Source

Pouvoir ajuster le crédit pain d'un client via un montant positif ou négatif pour plus de souplesse pour le boulanger.

Ajouter comme moyen de paiement "ajustement" ainsi qu'un champs "commentaire" pour que le boulanger et le client puissent conserver une trace/explication de cet ajustement.
master
keun 7 years ago
parent
commit
43bd544c55
4 changed files with 54 additions and 8 deletions
  1. +3
    -1
      backend/controllers/UserController.php
  2. +17
    -1
      backend/views/user/credit.php
  3. +17
    -6
      common/models/CreditHistorique.php
  4. +17
    -0
      console/migrations/m170327_145311_add_champs_commentaire_credit.php

+ 3
- 1
backend/controllers/UserController.php View File

{ {
$credit_historique->id_user = $user->id ; $credit_historique->id_user = $user->id ;
$credit_historique->id_etablissement = Yii::$app->user->identity->id_etablissement ; $credit_historique->id_etablissement = Yii::$app->user->identity->id_etablissement ;
$credit_historique->type = CreditHistorique::TYPE_CREDIT ;
if($credit_historique->type == CreditHistorique::TYPE_DEBIT && $credit_historique->montant > 0)
$credit_historique->montant = - $credit_historique->montant ;
$credit_historique->save() ; $credit_historique->save() ;
$this->redirect(['user/index']) ; $this->redirect(['user/index']) ;

+ 17
- 1
backend/views/user/credit.php View File

<div class="col-md-12"> <div class="col-md-12">
<h1><?= $this->title ?></h1> <h1><?= $this->title ?></h1>
<?php $form = ActiveForm::begin(); ?> <?php $form = ActiveForm::begin(); ?>
<?= $form->field($credit_historique, 'type')->dropDownList([
CreditHistorique::TYPE_CREDIT => 'Crédit',
CreditHistorique::TYPE_DEBIT => 'Débit',
]) ?>
<?= $form->field($credit_historique, 'montant')->textInput() ?> <?= $form->field($credit_historique, 'montant')->textInput() ?>
<?= $form->field($credit_historique, 'moyen_paiement')->dropDownList([ <?= $form->field($credit_historique, 'moyen_paiement')->dropDownList([
CreditHistorique::MOYEN_ESPECES => 'Espèces', CreditHistorique::MOYEN_ESPECES => 'Espèces',
CreditHistorique::MOYEN_CB => 'Carte bancaire', CreditHistorique::MOYEN_CB => 'Carte bancaire',
CreditHistorique::MOYEN_CHEQUE => 'Chèque', CreditHistorique::MOYEN_CHEQUE => 'Chèque',
CreditHistorique::MOYEN_AUTRE => 'Autre',
]) ?> ]) ?>
<?= $form->field($credit_historique, 'commentaire')->textarea() ?>
<div class="form-group"> <div class="form-group">
<?= Html::submitButton( 'Créditer', ['class' => 'btn btn-primary']) ?> <?= Html::submitButton( 'Créditer', ['class' => 'btn btn-primary']) ?>
</div> </div>
<th>Type</th> <th>Type</th>
<th>Montant</th> <th>Montant</th>
<th>Paiement</th> <th>Paiement</th>
<th>Commentaire</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<?php endif; ?> <?php endif; ?>
<?php endif; ?> <?php endif; ?>
<?php if($ch->type == CreditHistorique::TYPE_REMBOURSEMENT): ?>Remboursement commande <?php if(isset($ch->commande)): ?>du <?= date('d/m/Y',strtotime($ch->commande->date)) ?><?php else: ?>(supprimée)<?php endif; ?><?php endif; ?> <?php if($ch->type == CreditHistorique::TYPE_REMBOURSEMENT): ?>Remboursement commande <?php if(isset($ch->commande)): ?>du <?= date('d/m/Y',strtotime($ch->commande->date)) ?><?php else: ?>(supprimée)<?php endif; ?><?php endif; ?>
<?php if($ch->type == CreditHistorique::TYPE_DEBIT): ?>
Débit
<?php endif; ?>
</td> </td>
<td> <td>
<?= $ch->montant ; ?> €
<?= number_format($ch->montant,2) ; ?> €
</td> </td>
<td> <td>
<?php if($ch->moyen_paiement == CreditHistorique::MOYEN_ESPECES): ?>Espèces<?php endif; ?> <?php if($ch->moyen_paiement == CreditHistorique::MOYEN_ESPECES): ?>Espèces<?php endif; ?>
<?php if($ch->moyen_paiement == CreditHistorique::MOYEN_CB): ?>Carte bancaire<?php endif; ?> <?php if($ch->moyen_paiement == CreditHistorique::MOYEN_CB): ?>Carte bancaire<?php endif; ?>
<?php if($ch->moyen_paiement == CreditHistorique::MOYEN_CHEQUE): ?>Chèque<?php endif; ?> <?php if($ch->moyen_paiement == CreditHistorique::MOYEN_CHEQUE): ?>Chèque<?php endif; ?>
<?php if($ch->moyen_paiement == CreditHistorique::MOYEN_AUTRE): ?>Autre<?php endif; ?>
<?php if(!$ch->moyen_paiement): ?>Crédit pain<?php endif; ?> <?php if(!$ch->moyen_paiement): ?>Crédit pain<?php endif; ?>
</td> </td>
<td>
<?php if(strlen($ch->commentaire)): ?>
<?= nl2br(Html::encode($ch->commentaire)) ; ?>
<?php endif; ?>
</td>
</tr> </tr>
<?php endforeach; ?> <?php endforeach; ?>
<?php else: ?> <?php else: ?>

+ 17
- 6
common/models/CreditHistorique.php View File

const TYPE_CREDIT = 'credit' ; const TYPE_CREDIT = 'credit' ;
const TYPE_PAIEMENT = 'paiement' ; const TYPE_PAIEMENT = 'paiement' ;
const TYPE_REMBOURSEMENT = 'remboursement' ; const TYPE_REMBOURSEMENT = 'remboursement' ;
const TYPE_DEBIT = 'debit' ;
const MOYEN_CB = 'cb' ; const MOYEN_CB = 'cb' ;
const MOYEN_ESPECES = 'especes' ; const MOYEN_ESPECES = 'especes' ;
const MOYEN_CHEQUE = 'cheque' ; const MOYEN_CHEQUE = 'cheque' ;
const MOYEN_AUTRE = 'autre' ;
/** /**
* @inheritdoc * @inheritdoc
[['montant'], 'required'], [['montant'], 'required'],
[['id_user','id_user_action', 'id_commande', 'id_etablissement'], 'integer'], [['id_user','id_user_action', 'id_commande', 'id_etablissement'], 'integer'],
[['date'], 'safe'], [['date'], 'safe'],
[['montant'], 'number'],
[['type', 'moyen_paiement'], 'string', 'max' => 255],
[['montant'], 'double'],
[['type', 'moyen_paiement','commentaire'], 'string', 'max' => 255],
]; ];
} }


'type' => 'Type', 'type' => 'Type',
'id_etablissement' => 'Établissement', 'id_etablissement' => 'Établissement',
'moyen_paiement' => 'Moyen de paiement', 'moyen_paiement' => 'Moyen de paiement',
'commentaire' => 'Commentaire',
]; ];
} }
public function getLibelleType() public function getLibelleType()
{ {
if($this->type == 'paiement')
return 'Paiement' ;
elseif($this->type == 'remboursement')
return 'Remboursement' ;
switch($this->type)
{
case 'paiement':
return 'Paiement' ;
break ;
case 'remboursement':
return 'Remboursement' ;
break ;
case 'debit':
return 'Débit' ;
break ;
}
} }

+ 17
- 0
console/migrations/m170327_145311_add_champs_commentaire_credit.php View File

<?php

use yii\db\Migration;
use yii\db\Schema ;

class m170327_145311_add_champs_commentaire_credit extends Migration
{
public function up()
{
$this->addColumn('credit_historique', 'commentaire', Schema::TYPE_TEXT) ;
}

public function down()
{
$this->dropColumn('credit_historique', 'commentaire') ;
}
}

Loading…
Cancel
Save