public function prepareCreditmemo($data = array()) { $creditmemo = parent::prepareCreditmemo($data); if ($vendorOrder = Mage::registry('vendor_order')) { $order = $creditmemo->getOrder(); $dummyOrder = Mage::getModel('sales/order'); $dummyOrder->setData($vendorOrder->getData()); $dummyOrder->setBaseCurrencyCode($order->getBaseCurrencyCode()); $dummyOrder->setStoreId($order->getStoreId()); $shippingRefundAllow = $dummyOrder->getBaseShippingAmount() - $dummyOrder->getBaseShippingRefunded(); if ($creditmemo->hasBaseShippingAmount() && $creditmemo->getBaseShippingAmount() > $shippingRefundAllow) { $creditmemo->setBaseShippingAmount($shippingRefundAllow); } $creditmemo->setOrder($dummyOrder); // $creditmemo->setShippingAmount(0); // $creditmemo->setBaseShippingAmount(0); // $creditmemo->setShippingInclTax(0); // $creditmemo->setBaseShippingInclTax(0); $creditmemo->setGrandTotal(0); $creditmemo->setBaseGrandTotal(0); $creditmemo->collectTotals(); $creditmemo->setOrder($order); } return $creditmemo; }
public function prepareCreditmemo($data = array()) { $creditmemo = parent::prepareCreditmemo($data); if ($creditmemo) { if ($this->getOrder()->getBillingAddress()->getRichiestaFattura()) { $creditmemo->setTipo(Zab_Billing_Model_Tipodoc::CREDITMEMO); } else { $creditmemo->setTipo(Zab_Billing_Model_Tipodoc::CREDITMEMO_NDC); } } return $creditmemo; }