MAJ Module Paypal vers 5.1.1 (comme en prod)
This commit is contained in:
@@ -18,10 +18,11 @@
|
||||
* versions in the future. If you wish to customize PrestaShop for your
|
||||
* needs please refer to http://www.prestashop.com for more information.
|
||||
*
|
||||
* @author PrestaShop SA <contact@prestashop.com>
|
||||
* @copyright 2007-2019 PrestaShop SA
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
* @author 2007-2019 PayPal
|
||||
* @author 202 ecommerce <tech@202-ecommerce.com>
|
||||
* @copyright PayPal
|
||||
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
||||
*
|
||||
*/
|
||||
|
||||
include_once _PS_MODULE_DIR_.'paypal/classes/AbstractMethodPaypal.php';
|
||||
@@ -47,10 +48,14 @@ class PaypalEcScOrderModuleFrontController extends PaypalAbstarctModuleFrontCont
|
||||
$paypal = Module::getInstanceByName($this->name);
|
||||
|
||||
try {
|
||||
$this->redirectUrl = $this->context->link->getPageLink('order', null, null, array('step'=>2));
|
||||
$method->setParameters($this->values);
|
||||
$info = $method->getInfo();
|
||||
$this->prepareOrder($info);
|
||||
$this->redirectUrl = $this->context->link->getPageLink('order', null, null, array('step'=>2));
|
||||
|
||||
if (!empty($this->errors)) {
|
||||
return;
|
||||
}
|
||||
} catch (PayPal\Exception\PPConnectionException $e) {
|
||||
$this->errors['error_msg'] = $paypal->l('Error connecting to ', pathinfo(__FILE__)['filename']) . $e->getUrl();
|
||||
} catch (PayPal\Exception\PPMissingCredentialException $e) {
|
||||
@@ -147,10 +152,13 @@ class PaypalEcScOrderModuleFrontController extends PaypalAbstarctModuleFrontCont
|
||||
}
|
||||
}
|
||||
if (!$address_exist) {
|
||||
$nameArray = explode(" ", $ship_addr->Name);
|
||||
$firstName = implode(' ', array_slice($nameArray, 0, count($nameArray) - 1));
|
||||
$lastName = $nameArray[count($nameArray) - 1];
|
||||
|
||||
$orderAddress = new Address();
|
||||
$pos_separator = strpos($ship_addr->Name, ' ');
|
||||
$orderAddress->firstname = Tools::substr($ship_addr->Name, 0, $pos_separator);
|
||||
$orderAddress->lastname = Tools::substr($ship_addr->Name, $pos_separator+1);
|
||||
$orderAddress->firstname = $firstName;
|
||||
$orderAddress->lastname = $lastName;
|
||||
$orderAddress->address1 = $ship_addr->Street1;
|
||||
if (isset($ship_addr->Street2)) {
|
||||
$orderAddress->address2 = $ship_addr->Street2;
|
||||
@@ -175,8 +183,9 @@ class PaypalEcScOrderModuleFrontController extends PaypalAbstarctModuleFrontCont
|
||||
if ($country->active == false) {
|
||||
$validationMessage = $module->l('Country is not active', pathinfo(__FILE__)['filename']);
|
||||
}
|
||||
|
||||
if (is_string($validationMessage)) {
|
||||
$var = array(
|
||||
$vars = array(
|
||||
'newAddress' => 'delivery',
|
||||
'address1' => $orderAddress->address1,
|
||||
'firstname' => $orderAddress->firstname,
|
||||
@@ -188,10 +197,11 @@ class PaypalEcScOrderModuleFrontController extends PaypalAbstarctModuleFrontCont
|
||||
'address2' => $orderAddress->address2,
|
||||
'id_state' => $orderAddress->id_state
|
||||
);
|
||||
session_start();
|
||||
$_SESSION['notifications'] = Tools::jsonEncode(array('error' => $validationMessage));
|
||||
$url = Context::getContext()->link->getPageLink('order') . '&' . http_build_query($var);
|
||||
Tools::redirect($url);
|
||||
|
||||
$this->errors[] = $validationMessage;
|
||||
$url = Context::getContext()->link->getPageLink('order', null, null, $vars);
|
||||
$this->redirectUrl = $url;
|
||||
return;
|
||||
}
|
||||
$orderAddress->save();
|
||||
$id_address = $orderAddress->id;
|
||||
@@ -199,6 +209,22 @@ class PaypalEcScOrderModuleFrontController extends PaypalAbstarctModuleFrontCont
|
||||
|
||||
$this->context->cart->id_address_delivery = $id_address;
|
||||
$this->context->cart->id_address_invoice = $id_address;
|
||||
|
||||
$addressValidator = new AddressValidator();
|
||||
$invalidAddressIds = $addressValidator->validateCartAddresses($this->context->cart);
|
||||
|
||||
if (empty($invalidAddressIds) == false) {
|
||||
$vars = array(
|
||||
'id_address' => $id_address,
|
||||
'editAddress' => 'delivery'
|
||||
);
|
||||
|
||||
$this->errors[] = $this->l('Your address is incomplete, please update it.');
|
||||
$url = Context::getContext()->link->getPageLink('order', null, null, $vars);
|
||||
$this->redirectUrl = $url;
|
||||
return;
|
||||
}
|
||||
|
||||
$products = $this->context->cart->getProducts();
|
||||
foreach ($products as $key => $product) {
|
||||
$this->context->cart->setProductAddressDelivery($product['id_product'], $product['id_product_attribute'], $product['id_address_delivery'], $id_address);
|
||||
|
||||
Reference in New Issue
Block a user