![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/module-sales/Model/Order/Creditmemo/Validation/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Sales\Model\Order\Creditmemo\Validation; use Magento\Framework\Pricing\PriceCurrencyInterface; use Magento\Sales\Model\ValidatorInterface; /** * Class TotalsValidator */ class TotalsValidator implements ValidatorInterface { /** * @var PriceCurrencyInterface */ private $priceCurrency; /** * TotalsValidator constructor. * * @param PriceCurrencyInterface $priceCurrency */ public function __construct(PriceCurrencyInterface $priceCurrency) { $this->priceCurrency = $priceCurrency; } /** * @inheritDoc */ public function validate($entity) { $messages = []; $baseOrderRefund = $this->priceCurrency->round( $entity->getOrder()->getBaseTotalRefunded() + $entity->getBaseGrandTotal() ); if ($baseOrderRefund > $this->priceCurrency->round($entity->getOrder()->getBaseTotalPaid())) { $baseAvailableRefund = $entity->getOrder()->getBaseTotalPaid() - $entity->getOrder()->getBaseTotalRefunded(); $messages[] = __( 'The most money available to refund is %1.', $baseAvailableRefund ); } return $messages; } }