Module LivraisonParSecteurs : On finalise le montant mini du panier nécessaire
This commit is contained in:
@@ -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',
|
||||
|
||||
@@ -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.
|
||||
// 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 = LpsAreaQuery::create()->findOneById($areaId)->getMinimumAmount();
|
||||
$montantMinimum = $area->getMinimumAmount();
|
||||
|
||||
if ($montantPanier >= $montantMinimum)
|
||||
$isValid = true;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
$isValid = true;
|
||||
return $isValid;
|
||||
}
|
||||
|
||||
|
||||
@@ -20,8 +20,10 @@
|
||||
<div class="scheduled-deliveries-list">
|
||||
<table class="table table-striped">
|
||||
<thead>
|
||||
<th> </th>
|
||||
<th>{intl l="Order number" d="livraisonparsecteurs"}</th>
|
||||
<th>{intl l="Scheduled date" d="livraisonparsecteurs"}</th>
|
||||
<th>{intl l="Delivery delay" d="livraisonparsecteurs"}</th>
|
||||
<th>{intl l="City" d="livraisonparsecteurs"}</th>
|
||||
<th>{intl l="Area" d="livraisonparsecteurs"}</th>
|
||||
</thead>
|
||||
@@ -51,11 +53,12 @@
|
||||
{/loop}
|
||||
|
||||
<tr>
|
||||
<td><img src={$path} alt="{$alt}" title="{$title}" style="margin-left: 30px; width:25px"></td>
|
||||
<td><a href="/admin/order/update/{$ORDER_ID}" target="_blank" title="Client : {$client}">{$ORDER_ID}</a></td>
|
||||
<td>
|
||||
{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 <strong>{$DELTA}</strong> jour(s)
|
||||
<img src={$path} alt="{$alt}" title="{$title}" style="margin-left: 30px; width:25px">
|
||||
{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"}
|
||||
</td>
|
||||
<td>{$DELTA} jour(s)</td>
|
||||
<td>{$commune}</td>
|
||||
<td>{loop name="area-schedule-loop" type="lps_area_schedule" id={$SCHEDULE_ID}}
|
||||
{loop name="area-loop" type="lps_area" id={$AREA_ID}}
|
||||
|
||||
@@ -1,6 +1,18 @@
|
||||
<script type="text/html" id="lps_ui">
|
||||
|
||||
<td colspan="3">
|
||||
|
||||
{loop type="lps_area" name="area-loop" id={$area_id}}
|
||||
{assign var=livraison value=$PRICE}
|
||||
{assign var=minimum value=$MINIMUM_AMOUNT}
|
||||
{/loop}
|
||||
|
||||
{if {cart attr='total_taxed_price_without_discount'} < $minimum}
|
||||
<div class="row">
|
||||
<div class="alert alert-danger">{intl l="Message info minimum de commande" d="livraisonparsecteurs" montant=$minimum}</div>
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-4">
|
||||
{form name="thelia.order.delivery"}
|
||||
@@ -16,7 +28,7 @@
|
||||
<div class="col-sm-4">
|
||||
<div class="price text-right">
|
||||
{loop type="lps_area" name="area-price" id={$area_id}}
|
||||
{format_money number=$PRICE symbol={currency attr='symbol'}}
|
||||
{format_money number=$livraison symbol={currency attr='symbol'}}
|
||||
{/loop}
|
||||
</div>
|
||||
</div>
|
||||
@@ -38,7 +50,7 @@
|
||||
<tr>
|
||||
<td style="padding:10px; text-align: center">{$DAY_LABEL} {$CALCULATED_DAY}</td>
|
||||
<td style="padding:10px; text-align: center">{format_date date=$BEGIN format="H\hi"} à {format_date date=$END format="H\hi"}</td>
|
||||
<td style="padding:10px; text-align: center"><input type="radio" name="lps-choosen-day" value="{$ID}" /></td>
|
||||
<td style="padding:10px; text-align: center"><input type="radio" name="lps-choosen-day" value="{$ID}"{if {cart attr='total_taxed_price_without_discount'} < $minimum} disabled{/if} /></td>
|
||||
</tr>
|
||||
{/loop}
|
||||
</tbody>
|
||||
|
||||
@@ -122,8 +122,6 @@
|
||||
</div>
|
||||
{/form_field}
|
||||
|
||||
<div class="alert alert-danger">{intl l="Message info minimum de commande" d="livraisonparsecteurs" }</div>
|
||||
|
||||
{form_field field='delivery-module'}
|
||||
<div id="delivery-method" class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
|
||||
Reference in New Issue
Block a user