Files
aux-bieaux-legumes/local/modules/PaymentCondition/Controller/AreaConditionController.php
2021-01-25 18:44:19 +01:00

63 lines
2.0 KiB
PHP

<?php
namespace PaymentCondition\Controller;
use PaymentCondition\Model\PaymentAreaCondition;
use PaymentCondition\Model\PaymentAreaConditionQuery;
use Thelia\Controller\Admin\BaseAdminController;
use Thelia\Core\HttpFoundation\JsonResponse;
use Thelia\Model\AreaQuery;
use Thelia\Model\ModuleQuery;
class AreaConditionController extends BaseAdminController
{
public function viewAction()
{
$areaPaymentConditionArray = [];
$paymentModules = ModuleQuery::create()
->findByCategory('payment');
$shippingAreas = AreaQuery::create()->find();
$paymentAreaConditions = PaymentAreaConditionQuery::create()
->find();
if (null !== $paymentAreaConditions) {
/** @var PaymentAreaCondition $paymentAreaCondition */
foreach ($paymentAreaConditions as $paymentAreaCondition) {
$areaPaymentConditionArray[$paymentAreaCondition->getPaymentModuleId()][$paymentAreaCondition->getAreaId()] = $paymentAreaCondition->getIsValid();
}
}
return $this->render('payment-condition/shipping_area', [
'paymentModules' => $paymentModules,
'shippingAreas' => $shippingAreas,
"areaPaymentCondition" => $areaPaymentConditionArray
]);
}
public function saveAction()
{
$request = $this->getRequest();
try {
$paymentId = $request->request->get("paymentId");
$areaId = $request->request->get("areaId");
$isValid = $request->request->get("isValid") == "true" ? 1 : 0;
$paymentArea = PaymentAreaConditionQuery::create()
->filterByPaymentModuleId($paymentId)
->filterByAreaId($areaId)
->findOneOrCreate();
$paymentArea->setIsValid($isValid)
->save();
} catch (\Exception $e) {
return JsonResponse::create($e->getMessage(), 500);
}
return JsonResponse::create("Success");
}
}