From a077697e703127fc83e4767ad515967bdd7d4933 Mon Sep 17 00:00:00 2001 From: TheCoreDev Date: Thu, 25 Feb 2021 18:04:33 +0100 Subject: [PATCH] =?UTF-8?q?Module=20LivraisonParSecteurs=20:=20On=20finali?= =?UTF-8?q?se=20le=20montant=20mini=20du=20panier=20n=C3=A9cessaire?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../LivraisonParSecteurs/I18n/fr_FR.php | 3 ++- .../LivraisonParSecteurs.php | 18 ++++++++++++------ .../default/scheduled-deliveries.html | 7 +++++-- .../default/order-delivery-extra.html | 16 ++++++++++++++-- .../frontOffice/custom/order-delivery.html | 2 -- 5 files changed, 33 insertions(+), 13 deletions(-) diff --git a/local/modules/LivraisonParSecteurs/I18n/fr_FR.php b/local/modules/LivraisonParSecteurs/I18n/fr_FR.php index aa3a0efa..e032c831 100644 --- a/local/modules/LivraisonParSecteurs/I18n/fr_FR.php +++ b/local/modules/LivraisonParSecteurs/I18n/fr_FR.php @@ -16,6 +16,7 @@ return array( 'Delivery beginning time' => 'Début de la tournée', 'Delivery day' => 'Jour de livraison', 'Delivery days' => 'Jours de livraison', + 'Delivery delay' => 'Délai de livraison', 'Delivery ending time' => 'Fin de la tournée', 'Delivery price' => 'Frais de livraison', 'Do you really want to remove this city ?' => 'Voulez-vous réellement retirer cette commune de ce secteur de livraison ?', @@ -24,7 +25,7 @@ return array( 'Format to respect' => 'Merci de respecter le format 50.255612 ou -3.121146 (le séparateur est un point et le nombre peut être négatif)', 'General' => 'Général', 'Home delivery cost' => 'Frais de livraison à domicile', - 'Message info minimum de commande' => 'La livraison à domicile est soumise à un montant minimum de commande sur votre secteur : il est possible que vous n\'ayez pas atteint ce minimum.', + 'Message info minimum de commande' => 'Un panier d\'un montant minimum de %montant € est nécessaire pour pouvoir bénéficier de la livraison à domicile.', 'Minimum amount' => 'Montant minimum de commande', 'Modify a delivery day' => 'Modifier un jour de livraison', 'Module name' => 'Livraison à domicile', diff --git a/local/modules/LivraisonParSecteurs/LivraisonParSecteurs.php b/local/modules/LivraisonParSecteurs/LivraisonParSecteurs.php index 47ad6110..580f4510 100644 --- a/local/modules/LivraisonParSecteurs/LivraisonParSecteurs.php +++ b/local/modules/LivraisonParSecteurs/LivraisonParSecteurs.php @@ -32,6 +32,7 @@ class LivraisonParSecteurs extends AbstractDeliveryModule const FORMAT_DATES = 'd/m/Y'; const FORMAT_HEURES = 'H:i'; const FORMAT_DATE_COMPLETE = 'Y-m-d H:i:s'; + const SECTEUR_ACTIF = 1; /** @@ -67,16 +68,21 @@ class LivraisonParSecteurs extends AbstractDeliveryModule // Condition 1 : le client doit être situé dans un secteur couvert par la livraison à domicile. if (null !== $areaId = LpsAreaCityQuery::create()->filterByZipcode($zipcode)->findOne($con)) { + $area = LpsAreaQuery::create()->findOneById($areaId); - // Condition 2 : il doit avoir atteint le minimum de commande. - $montantPanier = $this->getRequest()->getSession()->getSessionCart($this->getDispatcher())->getTaxedAmount($country); - $montantMinimum = LpsAreaQuery::create()->findOneById($areaId)->getMinimumAmount(); + // Condition 2 : le secteur doit être actif à date. + if ($area->getActive() === self::SECTEUR_ACTIF) + { + // Condition 3 : le panier doit avoir atteint le minimum de commande pour ce secteur. + $montantPanier = $this->getRequest()->getSession()->getSessionCart($this->getDispatcher())->getTaxedAmount($country); + $montantMinimum = $area->getMinimumAmount(); - if ($montantPanier >= $montantMinimum) - $isValid = true; + if ($montantPanier >= $montantMinimum) + $isValid = true; + } } } - +$isValid = true; return $isValid; } diff --git a/local/modules/LivraisonParSecteurs/templates/backOffice/default/scheduled-deliveries.html b/local/modules/LivraisonParSecteurs/templates/backOffice/default/scheduled-deliveries.html index 4ce0182c..1b4af8b0 100644 --- a/local/modules/LivraisonParSecteurs/templates/backOffice/default/scheduled-deliveries.html +++ b/local/modules/LivraisonParSecteurs/templates/backOffice/default/scheduled-deliveries.html @@ -20,8 +20,10 @@
+ + @@ -51,11 +53,12 @@ {/loop} + +
  {intl l="Order number" d="livraisonparsecteurs"} {intl l="Scheduled date" d="livraisonparsecteurs"}{intl l="Delivery delay" d="livraisonparsecteurs"} {intl l="City" d="livraisonparsecteurs"} {intl l="Area" d="livraisonparsecteurs"}
{$alt} {$ORDER_ID} - {format_date date=$START_DATE format="d/m"} entre {format_date date=$START_DATE format="H:i"} et {format_date date=$END_DATE format="H:i"}, soit dans {$DELTA} jour(s) - {$alt} + {format_date date=$START_DATE format="d/m/Y"} entre {format_date date=$START_DATE format="H\hi"} et {format_date date=$END_DATE format="H\hi"} {$DELTA} jour(s) {$commune} {loop name="area-schedule-loop" type="lps_area_schedule" id={$SCHEDULE_ID}} {loop name="area-loop" type="lps_area" id={$AREA_ID}} diff --git a/local/modules/LivraisonParSecteurs/templates/frontOffice/default/order-delivery-extra.html b/local/modules/LivraisonParSecteurs/templates/frontOffice/default/order-delivery-extra.html index b363ca18..d07ee70d 100644 --- a/local/modules/LivraisonParSecteurs/templates/frontOffice/default/order-delivery-extra.html +++ b/local/modules/LivraisonParSecteurs/templates/frontOffice/default/order-delivery-extra.html @@ -1,6 +1,18 @@