Procházet zdrojové kódy

Ajout d'un champs "infos_commande" affiché au client lors de sa commande

Ce champs est modifiable dans les paramètres du producteur.
prodstable
keun před 7 roky
rodič
revize
5bf1feb7e7
6 změnil soubory, kde provedl 72 přidání a 33 odebrání
  1. +5
    -0
      backend/views/etablissement/update.php
  2. +4
    -4
      common/models/Etablissement.php
  3. +18
    -0
      console/migrations/m170616_112800_add_champs_info_commande.php
  4. +5
    -1
      frontend/controllers/CommandeController.php
  5. +39
    -28
      frontend/views/commande/_form.php
  6. +1
    -0
      frontend/views/commande/create.php

+ 5
- 0
backend/views/etablissement/update.php Zobrazit soubor

@@ -83,6 +83,11 @@ $this->params['breadcrumbs'][] = 'Paramètres';
echo '<input type="checkbox" name="delete_photo" id="delete_photo" /> <label for="delete_photo">Supprimer la photo</label><br /><br />';
}
?>
<?= $form->field($model, 'infos_commande')
->textarea(['rows' => 6])
->hint('Affichées au client lors de sa commande')?>
<div class="form-group">
<?= Html::submitButton('Mettre à jour', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?>
</div>

+ 4
- 4
common/models/Etablissement.php Zobrazit soubor

@@ -54,11 +54,10 @@ class Etablissement extends \yii\db\ActiveRecord
$this->addError($attribute, 'Ce code est déjà utilisé par un autre producteur.');
}
}],
[['description'], 'string'],
[['description','infos_commande'], 'string'],
[['solde_negatif', 'credit_pain','actif'], 'boolean'],
[['nom', 'siret', 'logo', 'photo', 'code_postal', 'ville','code'], 'string', 'max' => 255],
['prix_libre','double'],
['prix_libre','required'],
['prix_libre','double'],
['prix_libre', 'compare', 'compareValue' => 0, 'operator' => '>=', 'type' => 'number','message' => 'Prix libre doit être supérieur ou égal à 0'],
];
@@ -84,7 +83,8 @@ class Etablissement extends \yii\db\ActiveRecord
'solde_negatif' => 'Solde négatif',
'credit_pain' => 'Crédit pain',
'actif' => 'Actif',
'date_creation' => 'Date de création'
'date_creation' => 'Date de création',
'infos_commande' => 'Informations'
];
}

+ 18
- 0
console/migrations/m170616_112800_add_champs_info_commande.php Zobrazit soubor

@@ -0,0 +1,18 @@
<?php

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

class m170616_112800_add_champs_info_commande extends Migration
{
public function up()
{
$this->addColumn('etablissement', 'infos_commande', Schema::TYPE_TEXT.' DEFAULT NULL') ;
}

public function down()
{
$this->dropColumn('etablissement', 'infos_commande') ;
}

}

+ 5
- 1
frontend/controllers/CommandeController.php Zobrazit soubor

@@ -92,6 +92,9 @@ class CommandeController extends FrontendController {
}
}
// etablissement
$etablissement = Etablissement::findOne($id_etablissement) ;
// points de vente
$points_vente = PointVente::find()
->with('pointVenteUser')
@@ -193,6 +196,7 @@ class CommandeController extends FrontendController {
'produits_vrac' => $produits_vrac,
'etablissements' => $etablissements,
'id_etablissement' => $id_etablissement,
'etablissement' => $etablissement,
'etablissement_paiement_ok' => $etablissement_paiement_ok,
'credit' => $credit
];
@@ -278,7 +282,7 @@ class CommandeController extends FrontendController {
}

return $this->render('create', array_merge(self::initForm($commande), [
'model' => $commande,
'model' => $commande
]));
}


+ 39
- 28
frontend/views/commande/_form.php Zobrazit soubor

@@ -34,40 +34,51 @@ use common\models\Etablissement;
<?php if($id_etablissement && $etablissement_paiement_ok): ?>
<h2 id="step-choix-date">Date de commande</h2>
<div class="col-md-6">
<h2 id="step-choix-date">Date de commande</h2>
<?= $form->field($model, 'id_production')->label('')->hiddenInput(); ?>

<?= $form->field($model, 'id_production')->label('')->hiddenInput(); ?>
<?php if (isset($model->id)): ?>
<div class="date-commande"><span><?php echo date('d/m/Y', strtotime($production->date)); ?></span></div>
<?= Html::hiddenInput('id_commande', $model->id,['id'=>'id-commande']); ?>
<?= Html::hiddenInput('montant_paye', $model->getMontantPaye(),['id'=>'montant-paye']); ?>
<?php endif; ?>

<?php if (isset($model->id)): ?>
<div class="date-commande"><span><?php echo date('d/m/Y', strtotime($production->date)); ?></span></div>
<?= Html::hiddenInput('id_commande', $model->id,['id'=>'id-commande']); ?>
<?= Html::hiddenInput('montant_paye', $model->getMontantPaye(),['id'=>'montant-paye']); ?>
<?php endif; ?>
<div id="datepicker-production" <?php if (isset($model->id)): ?>style="display:none"<?php endif; ?>>
</div>

<div id="datepicker-production" <?php if (isset($model->id)): ?>style="display:none"<?php endif; ?>>
</div>
<?php if (!isset($model->id)): ?>
<br />
<?php endif; ?>
<div id="dates" style="display:none;">
<?php
foreach ($jours_production as $id_production => $j) {
if ($j != '--') {
echo '<div><span class="date">' . $j . '</span><span class="id_production">' . $id_production . '</span></div>';
<?php if (!isset($model->id)): ?>
<br />
<?php endif; ?>

<div id="dates" style="display:none;">
<?php
foreach ($jours_production as $id_production => $j) {
if ($j != '--') {
echo '<div><span class="date">' . $j . '</span><span class="id_production">' . $id_production . '</span></div>';
}
}
}
?>
</div>
?>
</div>

<div class="clr"></div>
<div id="commandes-en-cours" style="display:none;">
<?php foreach ($commandes_en_cours as $c): ?>
<?php echo '<div class="commande" data-idproduction="' . $c->id_production . '" data-id="' . $c->id . '" data-href="' . Yii::$app->urlManager->createUrl(['commande/update', 'id' => $c->id, 'id_etablissement' => $c->production->id_etablissement]) . '"></div>'; ?>
<?php endforeach; ?>
</div>
<div id="has-commande-en-cours" style="display:none;" class="alert alert-danger">Vous avez déjà une commande en cours pour cette date. <a href="#">Cliquez ici</a> pour la modifier.</div>

<div class="clr"></div>
<div id="commandes-en-cours" style="display:none;">
<?php foreach ($commandes_en_cours as $c): ?>
<?php echo '<div class="commande" data-idproduction="' . $c->id_production . '" data-id="' . $c->id . '" data-href="' . Yii::$app->urlManager->createUrl(['commande/update', 'id' => $c->id, 'id_etablissement' => $c->production->id_etablissement]) . '"></div>'; ?>
<?php endforeach; ?>
</div>
<div id="has-commande-en-cours" style="display:none;" class="alert alert-danger">Vous avez déjà une commande en cours pour cette date. <a href="#">Cliquez ici</a> pour la modifier.</div>
<div class="col-md-6">
<?php if(strlen($etablissement->infos_commande)): ?>
<h2>Infos du producteur</h2>
<div id="infos-commande">
<?= Html::encode($etablissement->infos_commande) ?>
</div>
<?php endif; ?>
</div>

<div class="clr"></div>


+ 1
- 0
frontend/views/commande/create.php Zobrazit soubor

@@ -24,6 +24,7 @@ $this->title = 'Passer une commande';
'produits_vrac' => $produits_vrac,
'etablissements' => $etablissements,
'id_etablissement' => $id_etablissement,
'etablissement' => $etablissement,
'etablissement_paiement_ok' => $etablissement_paiement_ok,
'credit' => $credit
]) ?>

Načítá se…
Zrušit
Uložit