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
@@ -208,7 +208,9 @@ class UserController extends BackendController | |||
{ | |||
$credit_historique->id_user = $user->id ; | |||
$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() ; | |||
$this->redirect(['user/index']) ; |
@@ -28,12 +28,18 @@ $this->params['breadcrumbs'][] = 'Créditer'; | |||
<div class="col-md-12"> | |||
<h1><?= $this->title ?></h1> | |||
<?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, 'moyen_paiement')->dropDownList([ | |||
CreditHistorique::MOYEN_ESPECES => 'Espèces', | |||
CreditHistorique::MOYEN_CB => 'Carte bancaire', | |||
CreditHistorique::MOYEN_CHEQUE => 'Chèque', | |||
CreditHistorique::MOYEN_AUTRE => 'Autre', | |||
]) ?> | |||
<?= $form->field($credit_historique, 'commentaire')->textarea() ?> | |||
<div class="form-group"> | |||
<?= Html::submitButton( 'Créditer', ['class' => 'btn btn-primary']) ?> | |||
</div> | |||
@@ -49,6 +55,7 @@ $this->params['breadcrumbs'][] = 'Créditer'; | |||
<th>Type</th> | |||
<th>Montant</th> | |||
<th>Paiement</th> | |||
<th>Commentaire</th> | |||
</tr> | |||
</thead> | |||
<tbody> | |||
@@ -68,16 +75,25 @@ $this->params['breadcrumbs'][] = 'Créditer'; | |||
<?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> | |||
<?= $ch->montant ; ?> € | |||
<?= number_format($ch->montant,2) ; ?> € | |||
</td> | |||
<td> | |||
<?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_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; ?> | |||
</td> | |||
<td> | |||
<?php if(strlen($ch->commentaire)): ?> | |||
<?= nl2br(Html::encode($ch->commentaire)) ; ?> | |||
<?php endif; ?> | |||
</td> | |||
</tr> | |||
<?php endforeach; ?> | |||
<?php else: ?> |
@@ -25,10 +25,12 @@ class CreditHistorique extends ActiveRecord | |||
const TYPE_CREDIT = 'credit' ; | |||
const TYPE_PAIEMENT = 'paiement' ; | |||
const TYPE_REMBOURSEMENT = 'remboursement' ; | |||
const TYPE_DEBIT = 'debit' ; | |||
const MOYEN_CB = 'cb' ; | |||
const MOYEN_ESPECES = 'especes' ; | |||
const MOYEN_CHEQUE = 'cheque' ; | |||
const MOYEN_AUTRE = 'autre' ; | |||
/** | |||
* @inheritdoc | |||
@@ -47,8 +49,8 @@ class CreditHistorique extends ActiveRecord | |||
[['montant'], 'required'], | |||
[['id_user','id_user_action', 'id_commande', 'id_etablissement'], 'integer'], | |||
[['date'], 'safe'], | |||
[['montant'], 'number'], | |||
[['type', 'moyen_paiement'], 'string', 'max' => 255], | |||
[['montant'], 'double'], | |||
[['type', 'moyen_paiement','commentaire'], 'string', 'max' => 255], | |||
]; | |||
} | |||
@@ -67,6 +69,7 @@ class CreditHistorique extends ActiveRecord | |||
'type' => 'Type', | |||
'id_etablissement' => 'Établissement', | |||
'moyen_paiement' => 'Moyen de paiement', | |||
'commentaire' => 'Commentaire', | |||
]; | |||
} | |||
@@ -87,10 +90,18 @@ class CreditHistorique extends ActiveRecord | |||
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 ; | |||
} | |||
} | |||
@@ -0,0 +1,17 @@ | |||
<?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') ; | |||
} | |||
} |