Correction du bogue sur stockage du mauvais areaId dans order_delivery_schedule (delivery_address_id qui doit contenir l'Id de l'area)
This commit is contained in:
@@ -5,6 +5,7 @@ namespace PlanificationLivraison\EventListeners;
|
||||
use ClickAndCollect\ClickAndCollect;
|
||||
use DateTime;
|
||||
use LivraisonParSecteurs\LivraisonParSecteurs;
|
||||
use LivraisonParSecteurs\Model\LpsAreaCityQuery;
|
||||
use LivraisonParSecteurs\Model\LpsAreaScheduleQuery;
|
||||
use PlanificationLivraison\Model\OrderDeliverySchedule;
|
||||
use PlanificationLivraison\PlanificationLivraison;
|
||||
@@ -20,6 +21,7 @@ use Thelia\Core\Event\TheliaEvents;
|
||||
use Thelia\Core\HttpFoundation\Request;
|
||||
use Thelia\Core\HttpFoundation\Session\Session;
|
||||
use Thelia\Exception\TheliaProcessException;
|
||||
use Thelia\Model\AddressQuery;
|
||||
use Thelia\Model\ModuleQuery;
|
||||
use PlanificationLivraison\Model\SessionData;
|
||||
|
||||
@@ -59,7 +61,13 @@ class DeliveryListener extends BaseAction implements EventSubscriberInterface
|
||||
if (null !== $scheduleId = $request->get('lps-choosen-day', null)) {
|
||||
|
||||
$sessionData = new SessionData();
|
||||
$sessionData->setDeliveryAddressId($session->getOrder()->getChoosenDeliveryAddress());
|
||||
$con = Propel::getConnection();
|
||||
|
||||
$choosenAddressId = $session->getOrder()->getChoosenDeliveryAddress();
|
||||
$zipcode = AddressQuery::create()->filterById($choosenAddressId)->findOne($con)->getZipcode();
|
||||
$areaFromZipcode = LpsAreaCityQuery::create()->filterByZipcode($zipcode)->findOne($con);
|
||||
if (null !== $areaFromZipcode) {
|
||||
$sessionData->setDeliveryAddressId($areaFromZipcode->getIdArea());
|
||||
$sessionData->setScheduleId($scheduleId);
|
||||
|
||||
// On sauvegarde la date de livraison choisie avec les heures, pour affichage ultérieur.
|
||||
@@ -74,6 +82,11 @@ class DeliveryListener extends BaseAction implements EventSubscriberInterface
|
||||
|
||||
$session->set('lpsData', $sessionData);
|
||||
}
|
||||
else {
|
||||
// Pas de Area trouvée à partir du ZipCode
|
||||
$session->set('lspData', null);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($module == PointRetrait::getModuleId()) {
|
||||
|
||||
@@ -56,7 +56,7 @@ class ScheduledDeliveriesLoop extends BaseLoop implements PropelSearchLoopInterf
|
||||
|
||||
if (null != $deliveries->getDeliveryAddressId()) {
|
||||
$city = OrderAddressQuery::create()->findOneById($order->getDeliveryOrderAddressId())->getCity();
|
||||
$area = LpsAreaQuery::create()->findOneById(LpsAreaCityQuery::create()->findOneById($deliveries->getDeliveryAddressId())->getIdArea())->getTitle();
|
||||
$area = LpsAreaQuery::create()->findOneById($deliveries->getDeliveryAddressId())->getTitle();
|
||||
}
|
||||
|
||||
if (null != $deliveries->getDeliveryPlaceId())
|
||||
|
||||
Reference in New Issue
Block a user