Преглед изворни кода

Délai de commande

Intégration du délai de commande permettant au boulanger de définir le 
délai séparant la date de prise de commande de la date de livraison.

Mise à jour du formulaire des paramètres de l'établissement et mise en place
sur le frontend.

Ajout d'un champs dans la table "établissement".
prodstable
keun пре 8 година
родитељ
комит
cad41a1b73
5 измењених фајлова са 46 додато и 11 уклоњено
  1. +15
    -1
      backend/views/etablissement/update.php
  2. +5
    -3
      common/models/Etablissement.php
  3. +17
    -0
      console/migrations/m161130_152006_etablissement_champs_reservation_j_plus_n.php
  4. +7
    -6
      frontend/controllers/CommandeController.php
  5. +2
    -1
      frontend/views/commande/_liste_etablissements.php

+ 15
- 1
backend/views/etablissement/update.php Прегледај датотеку

@@ -19,6 +19,19 @@ $this->params['breadcrumbs'][] = 'Paramètres';
<?= $form->field($model, 'code')->hint("Saisissez ce champs si vous souhaitez protéger l'accès à votre boutique par un code, sinon laissez-le vide.<br />"
. "Ce code est à communiquer à vos client pour qu'ils puissent ajouter votre boulangerie à leur tableau de bord.<br />"
. "<a href=\"".Yii::$app->urlManager->createUrl(['communiquer/index'])."\">Cliquez ici</a> pour télécharger un mode d'emploi comprenant ce code à distribuer à vos clients.") ?>
<?= $form->field($model, 'delai_commande')
->dropDownList([
1 => '1 jour',
2 => '2 jours',
3 => '3 jours',
4 => '4 jours',
5 => '5 jours',
6 => '6 jours',
7 => '7 jours',
], [])
->hint('Si <strong>1 jour</strong> est sélectionné, le client pourra commander jusqu\'à la veille de la production.<br />'
. 'Si <strong>2 jours</strong> est sélectionné, le client pourra commander jusqu\'à l\'avant-veille de la production, etc.') ; ?>
<?= $form->field($model, 'heure_limite_commande')
->dropDownList([
24 => 'Minuit',
@@ -29,7 +42,8 @@ $this->params['breadcrumbs'][] = 'Paramètres';
19 => '19h',
18 => '18h',
], [])
->hint('Heure limite jusqu\'à laquelle les clients peuvent commander pour le lendemain.') ; ?>
->hint('Heure limite jusqu\'à laquelle les clients peuvent commander pour satisfaire le délai de commande.<br />'
. 'Par exemple, si <strong>2 jours</strong> est sélectionné dans le délai de commande, le client devra commander l\'avant-veille de la production avant l\'heure précisée ici.') ; ?>
<?= $form->field($model, 'photo')->fileInput() ?>
<?php
if (strlen($model->photo)) {

+ 5
- 3
common/models/Etablissement.php Прегледај датотеку

@@ -39,9 +39,10 @@ class Etablissement extends \yii\db\ActiveRecord
public function rules()
{
return [
[['nom', 'siret', 'heure_limite_commande'], 'required'],
['heure_limite_commande','integer'],
[['nom', 'siret', 'heure_limite_commande','delai_commande'], 'required'],
[['heure_limite_commande','delai_commande'],'integer'],
['heure_limite_commande','in', 'range' => [18, 19, 20, 21, 22, 23, 24]],
['delai_commande','in', 'range' => [1,2,3,4,5,6,7]],
['code', function($attribute, $params)
{
$code = $this->$attribute ;
@@ -73,7 +74,8 @@ class Etablissement extends \yii\db\ActiveRecord
'code_postal' => 'Code postal',
'ville' => 'Ville',
'code' => 'Code',
'heure_limite_commande' => 'Heure limite de commande'
'heure_limite_commande' => 'Heure limite de commande',
'delai_commande' => 'Délai de commande'
];
}

+ 17
- 0
console/migrations/m161130_152006_etablissement_champs_reservation_j_plus_n.php Прегледај датотеку

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

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

class m161130_152006_etablissement_champs_reservation_j_plus_n extends Migration
{
public function up()
{
$this->addColumn('etablissement', 'delai_commande', Schema::TYPE_INTEGER.' DEFAULT 1') ;
}

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

+ 7
- 6
frontend/controllers/CommandeController.php Прегледај датотеку

@@ -73,16 +73,17 @@ class CommandeController extends \yii\web\Controller {

// jours de production
$heure_limite = 20 ;
$date = date('Y-m-d') ;
if(isset($etablissement))
{
$heure_limite = $etablissement->heure_limite_commande ;
if (date('H') >= $heure_limite) {
$date = date('Y-m-d', strtotime(date('Y-m-d')) + ($etablissement->delai_commande)*(24*60*60) );
} else {
$date = date('Y-m-d', strtotime(date('Y-m-d')) + ($etablissement->delai_commande - 1)*(24*60*60));
}
}
if (date('H') >= $heure_limite) {
$date = date('Y-m-d', strtotime(date('Y-m-d')) + 60 * 60 * 24);
} else {
$date = date('Y-m-d');
}

$jours_production = Production::find()
->where(['actif' => 1])
->andWhere('date > :date')

+ 2
- 1
frontend/views/commande/_liste_etablissements.php Прегледај датотеку

@@ -39,7 +39,8 @@ use yii\helpers\Html ;
<?php endif; ?>
<div class="heure-limite-commande" data-toggle="tooltip" data-placement="bottom" title="Heure limite de commande pour le lendemain">
<span class="limite"><span class="glyphicon glyphicon-time"></span> Heure limite :</span> <?php echo Html::encode($e['heure_limite_commande']) ?> h
<span class="limite"><span class="glyphicon glyphicon-time"></span> Heure limite :</span> <?php echo Html::encode($e['heure_limite_commande']) ?> h <br />
<span class="limite">Délai :</span> <?= Html::encode($e['delai_commande']) ?> jour<?php if($e['delai_commande'] > 1): ?>s<?php endif; ?>
</div>
</div>
</div>

Loading…
Откажи
Сачувај