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;
 }
Example #2
0
 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;
 }