Example #1
0
 /**
  * Method is invoked before save
  *
  * @param Varien_Object $object
  * @return Mage_Eav_Model_Entity_Attribute_Backend_Abstract
  */
 public function beforeSave($object)
 {
     if ($object->getInvoice()) {
         $object->setParentId($object->getInvoice()->getId());
     }
     return parent::beforeSave($object);
 }
Example #2
0
 /**
  * Getting all available childs for Invoice, Shipmen or Creditmemo item
  *
  * @param Varien_Object $item
  * @return array
  */
 public function getChilds($item)
 {
     $_itemsArray = array();
     if ($item instanceof Mage_Sales_Model_Order_Invoice_Item) {
         $_items = $item->getInvoice()->getAllItems();
     } else {
         if ($item instanceof Mage_Sales_Model_Order_Shipment_Item) {
             $_items = $item->getShipment()->getAllItems();
         } else {
             if ($item instanceof Mage_Sales_Model_Order_Creditmemo_Item) {
                 $_items = $item->getCreditmemo()->getAllItems();
             }
         }
     }
     if ($_items) {
         foreach ($_items as $_item) {
             $parentItem = $_item->getOrderItem()->getParentItem();
             if ($parentItem) {
                 $_itemsArray[$parentItem->getId()][$_item->getOrderItemId()] = $_item;
             } else {
                 $_itemsArray[$_item->getOrderItem()->getId()][$_item->getOrderItemId()] = $_item;
             }
         }
     }
     if (isset($_itemsArray[$item->getOrderItem()->getId()])) {
         return $_itemsArray[$item->getOrderItem()->getId()];
     } else {
         return null;
     }
 }
Example #3
0
 /**
  * if we have to add payment specific paramters to our request, we'll set them here
  *
  * @param $opsPaymentMethod
  * @param $payment
  * @param $amount
  *
  * @return $this
  */
 protected function addPmSpecificParams(Netresearch_OPS_Model_Payment_Abstract $opsPaymentMethod, Varien_Object $payment, $amount)
 {
     if ($this->isPmRequiringAdditionalParams($opsPaymentMethod)) {
         $this->setAdditionalParamsModelFor($opsPaymentMethod);
         if ($this->additionalParamsModel instanceof Netresearch_OPS_Model_Backend_Operation_Parameter_Additional_Interface) {
             $params = $this->additionalParamsModel->extractAdditionalParams($payment->getInvoice());
             $this->requestParams = array_merge($this->requestParams, $params);
         }
     }
     return $this;
 }
Example #4
0
 /**
  * Calculate points amount depending on tax settings: before or after tax
  *
  * @param Varien_Object $transport
  * @param bool $convertToPoints
  *
  * @return int
  */
 protected function _calcPointAmount($transport, $convertToPoints = false)
 {
     /* extract params */
     $customer = $transport->getCustomer();
     $invoice = $transport->getInvoice();
     $orderWebsite = $transport->getOrder()->getStore()->getWebsite();
     if ($invoice->getBaseDiscountAmount() < 0) {
         $invoiceDiscount = $invoice->getBaseDiscountAmount();
     } else {
         $invoiceDiscount = -$invoice->getBaseDiscountAmount();
     }
     if ($invoice->getBaseMoneyForPoints() < 0) {
         $invoiceBaseMoneyForPoints = $invoice->getBaseMoneyForPoints();
     } else {
         $invoiceBaseMoneyForPoints = -$invoice->getBaseMoneyForPoints();
     }
     $pointsType = Mage::helper('points/config')->getPointsCollectionOrder($transport->getOrder()->getStoreId());
     if ($pointsType == AW_Points_Helper_Config::AFTER_TAX) {
         $amountToPoint = $invoice->getBaseSubtotalInclTax() + $invoiceDiscount + $invoiceBaseMoneyForPoints;
     } else {
         $amountToPoint = $invoice->getBaseSubtotal() + $invoiceDiscount + $invoiceBaseMoneyForPoints;
     }
     if ($convertToPoints) {
         return Mage::getModel('points/api')->changeMoneyToPoints($amountToPoint, $customer, $orderWebsite);
     }
     return $amountToPoint;
 }