b374k
m1n1 1.01
Apache/2.4.41 (Ubuntu)
Linux vmi616275.contaboserver.net 5.4.0-84-generic #94-Ubuntu SMP Thu Aug 26 20:27:37 UTC 2021 x86_64
uid=33(www-data) gid=33(www-data) groups=33(www-data)
server ip : 62.171.164.128 | your ip : 127.0.0.1
safemode OFF
 >  / home / dev2.destoffenstraat.com / app / code / Geissweb / Euvat / Plugin / Tax /
Filename/home/dev2.destoffenstraat.com/app/code/Geissweb/Euvat/Plugin/Tax/QuoteCollector.php
Size2.11 kb
Permissionrwxrwxrwx
Ownerroot : root
Create time17-Aug-2025 10:26
Last modified09-Jul-2024 08:41
Last accessed22-Aug-2025 02:07
Actionsedit | rename | delete | download (gzip)
Viewtext | code | image
<?php
/**
* ||GEISSWEB| EU VAT Enhanced
*
* NOTICE OF LICENSE
*
* This source file is subject to the GEISSWEB End User License Agreement
* that is available through the world-wide-web at this URL: https://www.geissweb.de/legal-information/eula
*
* DISCLAIMER
*
* Do not edit this file if you wish to update the extension in the future. If you wish to customize the extension
* for your needs please refer to our support for more information.
*
* @copyright Copyright (c) 2015 GEISS Weblösungen (https://www.geissweb.de)
* @license https://www.geissweb.de/legal-information/eula GEISSWEB End User License Agreement
*/
declare(strict_types=1);

namespace Geissweb\Euvat\Plugin\Tax;

use Magento\Customer\Api\Data\AddressInterface;
use Magento\Quote\Model\Quote\Address;
use Magento\Tax\Model\Sales\Total\Quote\CommonTaxCollector;

/**
* Class QuoteCollector to make sure quote address is using existing details
*/
class QuoteCollector
{
/**
* Map address
*
* @param CommonTaxCollector $subject
* @param callable $proceed
* @param Address $address
*
* @return AddressInterface
*/
public function aroundMapAddress(CommonTaxCollector $subject, callable $proceed, Address $address)
{
/** @var AddressInterface $customerAddress */
$customerAddress = $proceed($address);

$customerAddressId = $customerAddress->getId();
$addressId = $address->getId();
if (empty($customerAddressId) && !empty($addressId)) {
$customerAddress->setId($addressId);
}

$customerAddressVatId = $customerAddress->getVatId();
$addressVatId = $address->getVatId();
if (empty($customerAddressVatId) && !empty($addressVatId)) {
$customerAddress->setVatId($addressVatId);
}

$customerAddressCustomerId = $customerAddress->getCustomerId();
$addressCustomerId = $address->getCustomerId();
if (empty($customerAddressCustomerId) && !empty($addressCustomerId)) {
$customerAddress->setCustomerId($addressCustomerId);
}

return $customerAddress;
}
}