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".master
@@ -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)) { |
@@ -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' | |||
]; | |||
} | |||
@@ -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') ; | |||
} | |||
} |
@@ -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') |
@@ -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> |