Example #1
0
 public function canReorder(Mage_Sales_Model_Order $order)
 {
     if (!$this->isAllow()) {
         return false;
     }
     return $order->canReorder();
 }
Example #2
0
 /**
  * Add the items from the given order to the Order Sync queue. Does nothing if
  * Order Sync is disabled for the store that the order was placed in.
  *
  * @param Mage_Sales_Model_Order $order
  * @param bool                   $force Skip enabled check
  *
  * @return $this
  */
 public function addOrderToQueue(Mage_Sales_Model_Order $order, $force = false)
 {
     if (!$this->isEnabled($order->getStoreId()) && !$force) {
         return $this;
     }
     $items = array();
     foreach ($order->getAllVisibleItems() as $item) {
         /** @var Mage_Sales_Model_Order_Item $item */
         // For configurable products add children items only, for all other products add parents
         if ($item->getProductType() == Mage_Catalog_Model_Product_Type_Configurable::TYPE_CODE) {
             foreach ($item->getChildrenItems() as $child) {
                 if ($child->getId() != null) {
                     $items[] = $child->getId();
                 }
             }
         } else {
             if ($item->getId() != null) {
                 $items[] = $item->getId();
             }
         }
     }
     // in case of multiple addresses used for shipping
     // its possible that items object here is empty
     // if so, we do not add to the item.
     if (!empty($items)) {
         $this->addItemsToQueue($items);
     }
     return $this;
 }
 /**
  * @param Mage_Sales_Model_Order $order
  *
  * @return $this
  */
 public function setOrder(Mage_Sales_Model_Order $order)
 {
     if ($order && $order->getId()) {
         $this->_order = $order;
     }
     return $this;
 }
 public function filterValidForOrder(Mage_Sales_Model_Order $order)
 {
     $this->addFieldToFilter('is_active', '1');
     $this->addFieldToFilter('website_ids', ['finset' => $order->getStore()->getWebsiteId()]);
     $this->addOrder('sort_order', 'DESC');
     return $this;
 }
 /**
  * Processes payment for specified order
  * @param Mage_Sales_Model_Order $Order
  * @return
  */
 public function processOrder(Mage_Sales_Model_Order $PrimaryOrder, Mage_Sales_Model_Order $Order = null)
 {
     $amount = $Order->getGrandTotal();
     $increment = $Order->getIncrementId();
     $VendorTxCode = $increment . "-" . date("y-m-d-H-i-s", time()) . "-" . rand(0, 1000000);
     $model = Mage::getModel('sarp/protxDirect')->load($this->getSubscription()->getId(), 'subscription_id');
     $data = array('VPSProtocol' => self::PROTOCOL_VERSION, 'TxType' => self::REPEAT, 'Vendor' => Mage::getStoreConfig(self::VENDOR), 'VendorTxCode' => $VendorTxCode, 'Amount' => $amount, 'Currency' => $Order->getOrderCurrencyCode(), 'Description' => 'Order', 'RelatedVPSTxId' => $model->getVpsTxId(), 'RelatedVendorTxCode' => $model->getVendorTxCode(), 'RelatedSecurityKey' => $model->getSecurityKey(), 'RelatedTxAuthNo' => $model->getTxAuthNo());
     $ready = array();
     foreach ($data as $key => $value) {
         $ready[] = $key . '=' . $value;
     }
     $str = implode('&', $ready);
     switch (Mage::getStoreConfig(self::MODE)) {
         case 'test':
             $url = self::TEST_REPEAT_URL;
             break;
         case 'live':
             $url = self::LIVE_REPEAT_URL;
             break;
         default:
             $url = self::SIMULATOR_REPEAT_URL;
     }
     $ready = $this->requestPost($url, $str);
     if (empty($ready)) {
         throw new AW_Sarp_Exception($this->__("Order cannot be completed. Unknown error"));
     }
     if ($ready['Status'] != 'OK') {
         throw new AW_Sarp_Exception($ready['Status'] . " - " . $ready['StatusDetail']);
     }
 }
 /**
  * Generate and return order secret
  *
  * @param Mage_Sales_Model_Order $order
  * @return string
  */
 public function getOrderSecret($order)
 {
     $email = $order->getCustomerEmail();
     $orderId = $order->getRealOrderId();
     $storeSecret = $this->getSBSecret();
     return md5($email . $orderId . $storeSecret);
 }
Example #7
0
 /**
  * Load a Quote object from an Order object
  * @param Mage_Sales_Model_Order $order
  * @return Mage_Sales_Model_Quote
  */
 protected function _getQuoteFromOrder($order)
 {
     if (!$this->_quote instanceof Mage_Sales_Model_Quote) {
         $this->_quote = Mage::getModel('sales/quote')->load($order->getQuoteId());
     }
     return $this->_quote;
 }
 /**
  * @throws Payone_Core_Exception_InvoicePreparationNoItems|Payone_Core_Exception_InvoiceSave
  * @param Mage_Sales_Model_Order $order
  * @param array $itemsQty
  * @param null $invoiceIncrementId
  * @return Mage_Sales_Model_Order_Invoice
  */
 protected function create(Mage_Sales_Model_Order $order, array $itemsQty = array(), $invoiceIncrementId = null)
 {
     /* @var $invoice Mage_Sales_Model_Order_Invoice */
     $invoice = $order->prepareInvoice($itemsQty);
     if ($invoiceIncrementId) {
         $invoice->setIncrementId($invoiceIncrementId);
     }
     $invoice->setTransactionId($order->getPayment()->getLastTransId());
     if (count($invoice->getAllItems()) <= 0) {
         throw new Payone_Core_Exception_InvoicePreparationNoItems($order->getIncrementId());
     }
     if ($invoice) {
         $invoice->register();
         $invoice->setEmailSent(false);
         $invoice->getOrder()->setIsInProcess(true);
         try {
             $transactionSave = $this->getFactory()->getModelResourceTransaction();
             $transactionSave->addObject($invoice);
             $transactionSave->addObject($invoice->getOrder());
             $transactionSave->save();
         } catch (Mage_Core_Exception $e) {
             throw new Payone_Core_Exception_InvoiceSave($e->getMessage());
         }
         return $invoice;
     }
     return null;
 }
Example #9
0
 /**
  * @param Mage_Sales_Model_Order $order
  * @return bool
  */
 protected function is_aplazame_payment($order)
 {
     $code = Aplazame_Aplazame_Model_Payment::METHOD_CODE;
     /** @var Mage_Sales_Model_Order $parentOrder */
     $parentOrder = Mage::getModel('sales/order')->loadByIncrementId($order->getIncrementId());
     return $code == $parentOrder->getPayment()->getMethod();
 }
 /**
  * Adiciona o Link do meio de pagamento a página de sucesso.
  * @param $observer
  */
 public function orderSuccessEvent($observer)
 {
     try {
         $order = new Mage_Sales_Model_Order();
         $lastOrderId = Mage::getSingleton('checkout/session')->getLastRealOrderId();
         $order->loadByIncrementId($lastOrderId);
         $quoteId = $order->getQuoteId();
         $quote = Mage::getModel("sales/quote")->loadByIdWithoutStore($quoteId);
         $type = null;
         $payment_method_bcash = $quote->getPaymentMethodBcash();
         if ($payment_method_bcash) {
             $helper = new Bcash_Pagamento_Helper_PaymentMethod();
             $type = $helper->getPaymentMethod($payment_method_bcash);
         }
         $layout = Mage::app()->getLayout();
         $block = $layout->createBlock('Mage_Core_Block_Template', 'link_pagamento_bcash', array('template' => 'bcash/pagamento/checkout/success.phtml'));
         $block->setOrder($order);
         $block->setQuote($quote);
         $block->setType($type);
         $layout->getBlock('content')->append($block);
         $bcashTransacation = $order->getTransactionIdBcash();
         Mage::helper("bcash")->saveLog("Pedido '" . $lastOrderId . "' realizado com sucesso. Transacao: " . $bcashTransacation);
     } catch (Exception $e) {
         Mage::helper("bcash")->saveLog($e->getMessage());
     }
 }
Example #11
0
 public function checkRelation(Mage_Sales_Model_Order $order)
 {
     /**
      * Check customer existing
      */
     $customer = Mage::getModel('customer/customer')->load($order->getCustomerId());
     if (!$customer->getId()) {
         $this->_getSession()->addNotice(Mage::helper('adminhtml')->__(' The customer does not exist in the system anymore.'));
     }
     /**
      * Check Item products existing
      */
     $productIds = array();
     foreach ($order->getAllItems() as $item) {
         $productIds[] = $item->getProductId();
     }
     $productCollection = Mage::getModel('catalog/product')->getCollection()->addIdFilter($productIds)->load();
     $hasBadItems = false;
     foreach ($order->getAllItems() as $item) {
         if (!$productCollection->getItemById($item->getProductId())) {
             $this->_getSession()->addError(Mage::helper('adminhtml')->__('The item %s (SKU %s) does not exist in the catalog anymore.', $item->getName(), $item->getSku()));
             $hasBadItems = true;
         }
     }
     if ($hasBadItems) {
         $this->_getSession()->addError(Mage::helper('adminhtml')->__('Some of the ordered items do not exist in the catalog anymore and will be removed if you try to edit the order.'));
     }
     return $this;
 }
 /**
  * @param Mage_Sales_Model_Order $order
  *
  * @return $this
  */
 protected function _redirectByOrder(Mage_Sales_Model_Order $order)
 {
     if (!$order->getId()) {
         $this->_redirectCart();
         return $this;
     }
     if ($order->isCanceled()) {
         $this->_redirectPaymentError();
         return $this;
     }
     switch ($order->getState()) {
         case Mage_Sales_Model_Order::STATE_NEW:
             $this->_redirectOrderPending();
             break;
         case Mage_Sales_Model_Order::STATE_CANCELED:
             $this->_redirectPaymentError();
             break;
         case Mage_Sales_Model_Order::STATE_PROCESSING:
         case Mage_Sales_Model_Order::STATE_COMPLETE:
         case Mage_Sales_Model_Order::STATE_CLOSED:
         case Mage_Sales_Model_Order::STATE_HOLDED:
         case Mage_Sales_Model_Order::STATE_PAYMENT_REVIEW:
         default:
             $this->_redirectOrderState();
             break;
     }
     return $this;
 }
 public function applyOrder(Mage_Sales_Model_Order $order, $sendEmail = false)
 {
     $this->_order = $order;
     $timestamp = new Zend_Date();
     $this->setOrderId($order->getId())->setIsNotified($sendEmail ? 1 : 0)->setAssignTime($timestamp->toString(Zend_Date::ISO_8601))->save();
     return $this;
 }
Example #14
0
 public function prepareValues(Mage_Sales_Model_Order $order)
 {
     $billing_address = $order->getBillingAddress();
     $additional_data = unserialize($order->getPayment()->getAdditionalData());
     $code_banco = $additional_data['code_banco'];
     $data_vencimento = $additional_data['data_vencimento'];
     $numero_boleto = str_replace('-', '', $order->getIncrementId());
     $strtotime = strtotime($order->getCreatedAt());
     $data = array('logoempresa' => $this->getConfig('logoempresa'), 'nosso_numero' => $numero_boleto, 'numero_documento' => $numero_boleto, 'data_vencimento' => $data_vencimento, 'data_documento' => date('d/m/Y', $strtotime), 'data_processamento' => date('d/m/Y', $strtotime), 'valor_boleto' => number_format($order->getGrandTotal() + $this->getLayoutConfig($code_banco, 'valor_adicional'), 2, ',', ''), 'valor_unitario' => number_format($order->getGrandTotal() + $this->getLayoutConfig($code_banco, 'valor_adicional'), 2, ',', ''), 'sacado' => $billing_address->getFirstname() . ' ' . $billing_address->getLastname(), 'sacadocpf' => $order->getCustomerTaxvat(), 'endereco1' => implode(' ', $billing_address->getStreet()), 'endereco2' => $billing_address->getCity() . ' - ' . $billing_address->getRegion() . ' - CEP: ' . $billing_address->getPostcode(), 'identificacao' => $this->getLayoutConfig($code_banco, 'identificacao'), 'cpf_cnpj' => $this->getLayoutConfig($code_banco, 'cpf_cnpj'), 'endereco' => $this->getLayoutConfig($code_banco, 'endereco'), 'cidade_uf' => $this->getLayoutConfig($code_banco, 'cidade_uf'), 'cedente' => $this->getLayoutConfig($code_banco, 'cedente'), 'agencia' => $this->getLayoutConfig($code_banco, 'agencia'), 'agencia_dv' => $this->getLayoutConfig($code_banco, 'agencia_dv'), 'conta' => $this->getLayoutConfig($code_banco, 'conta'), 'conta_dv' => $this->getLayoutConfig($code_banco, 'conta_dv'), 'carteira' => $this->getLayoutConfig($code_banco, 'carteira'), 'especie' => $this->getLayoutConfig($code_banco, 'especie'), 'especie_doc' => $this->getLayoutConfig($code_banco, 'especie_doc'), 'aceite' => $this->getLayoutConfig($code_banco, 'aceite'), 'quantidade' => $this->getLayoutConfig($code_banco, 'quantidade'));
     if ($code_banco == 'santander_banespa') {
         $data['ponto_venda'] = $this->getLayoutConfig($code_banco, 'ponto_venda');
         $data['carteira_descricao'] = $this->getLayoutConfig($code_banco, 'carteira_descricao');
         $data['codigo_cliente'] = $this->getLayoutConfig($code_banco, 'codigo_cliente');
     }
     if ($code_banco == 'bradesco') {
         $data['conta_cedente'] = $this->getLayoutConfig($code_banco, 'conta_cedente');
         $data['conta_cedente_dv'] = $this->getLayoutConfig($code_banco, 'conta_cedente_dv');
     }
     if ($code_banco == 'cef' || $code_banco == 'cef_sinco' || $code_banco == 'cef_sigcb') {
         $data['conta_cedente_caixa'] = $this->getLayoutConfig($code_banco, 'conta_cedente_caixa');
         $data['conta_cedente_dv_caixa'] = $this->getLayoutConfig($code_banco, 'conta_cedente_dv_caixa');
         $data['inicio_nosso_numero'] = $this->getLayoutConfig($code_banco, 'inicio_nosso_numero');
     }
     if ($code_banco == 'bb') {
         $data['convenio'] = $this->getLayoutConfig($code_banco, 'convenio');
         $data['contrato'] = $this->getLayoutConfig($code_banco, 'contrato');
         $data['variacao_carteira'] = $this->getLayoutConfig($code_banco, 'variacao_carteira');
         $data['formatacao_convenio'] = $this->getLayoutConfig($code_banco, 'formatacao_convenio');
         $data['formatacao_nosso_numero'] = $this->getLayoutConfig($code_banco, 'formatacao_nosso_numero');
     }
     if ($code_banco == 'hsbc') {
         $data['codigo_cedente'] = $this->getLayoutConfig($code_banco, 'codigo_cedente');
     }
     if ($code_banco == 'cef_sinco') {
         $data['campo_fixo_obrigatorio'] = $this->getLayoutConfig($code_banco, 'campo_fixo_obrigatorio');
     }
     if ($code_banco == 'cef_sigcb') {
         $data['nosso_numero1'] = $this->getLayoutConfig($code_banco, 'nosso_numero1');
         $data['nosso_numero_const1'] = $this->getLayoutConfig($code_banco, 'nosso_numero_const1');
         $data['nosso_numero2'] = $this->getLayoutConfig($code_banco, 'nosso_numero2');
         $data['nosso_numero_const2'] = $this->getLayoutConfig($code_banco, 'nosso_numero_const2');
         $data['nosso_numero3'] = $numero_boleto;
     }
     if ($code_banco == 'sicoob') {
         $data['convenio'] = $this->getLayoutConfig($code_banco, 'codigo_cedente');
         $data["numero_parcela"] = '001';
     }
     $instrucoes = explode("\n", $this->getLayoutConfig($code_banco, 'instrucoes_boleto'));
     for ($i = 0; $i < 4; $i++) {
         $instrucao = isset($instrucoes[$i]) ? $instrucoes[$i] : '';
         $data['instrucoes' . ($i + 1)] = $instrucao;
     }
     $info = sprintf($this->getLayoutConfig($code_banco, 'informacoes'), $order->getIncrementId());
     $informacoes = explode("\n", $info);
     for ($i = 0; $i < 3; $i++) {
         $informacao = isset($informacoes[$i]) ? $informacoes[$i] : '';
         $data['demonstrativo' . ($i + 1)] = $informacao;
     }
     return $data;
 }
Example #15
0
 /**
  * Retrieve order item value by key
  *
  * @param Mage_Sales_Model_Order $order
  * @param string $key
  * @return string
  */
 public function getOrderItemValue(Mage_Sales_Model_Order $order, $key)
 {
     $escape = true;
     switch ($key) {
         case 'order_increment_id':
             $value = $order->getIncrementId();
             break;
         case 'created_at':
             $value = $this->helper('core')->formatDate($order->getCreatedAt(), 'short', true);
             break;
         case 'shipping_address':
             $value = $order->getShippingAddress() ? $this->escapeHtml($order->getShippingAddress()->getName()) : $this->__('N/A');
             break;
         case 'order_total':
             $value = $order->formatPrice($order->getGrandTotal());
             $escape = false;
             break;
         case 'status_label':
             $value = $order->getStatusLabel();
             break;
         case 'view_url':
             $value = $this->getUrl('*/order/view', array('order_id' => $order->getId()));
             break;
         default:
             $value = $order->getData($key) ? $order->getData($key) : $this->__('N/A');
     }
     return $escape ? $this->escapeHtml($value) : $value;
 }
Example #16
0
 /**
  * Get the original order's increment ID
  * 
  * @return string
  */
 public function getOrderIncrementId()
 {
     if (!is_null($this->_storedOrder)) {
         return $this->_storedOrder->getIncrementId();
     }
     return '';
 }
Example #17
0
 public function createReservationDocument($event)
 {
     $order = new Mage_Sales_Model_Order();
     $incrementId = Mage::getSingleton('checkout/session')->getLastRealOrderId();
     $order->loadByIncrementId($incrementId);
     $orderData = $order->getData();
     $customerID = sprintf("WEBC%010d", $order['customer_id']);
     $orderDate = date('Y-m-d H:i:s');
     $XML = "\n        <TrumpasPardRezDok>\n            <sKlientas>{$customerID}</sKlientas>\n            <tData>{$orderDate}</tData>\n            <sSerija></sSerija>\n            <sDokumentas></sDokumentas>\n            <sValiuta>{$orderData['order_currency_code']}</sValiuta>";
     $VAT = 21;
     foreach ($order->getAllItems() as $item) {
         $children = $item->getChildrenItems();
         if (!empty($children)) {
             continue;
             // bundle
         }
         $itemData = $item->getData();
         $priceVat = round($itemData['price_incl_tax'], 4);
         $priceNoVat = round($priceVat / ($VAT / 100 + 1), 4);
         $priceVatValue = round($priceVat - $priceNoVat, 4);
         $qty = intval($itemData['qty_ordered']);
         $XML .= "\n                <PardDokPrekeDetEil>\n                    <sKodas>{$itemData['sku']}</sKodas>\n                    <sPavadinimas>{$itemData['name']}</sPavadinimas>\n                    <sSandelis>CENTR.</sSandelis>\n                    <nKiekis>{$qty}</nKiekis>\n                    <dSumaL>{$priceNoVat}</dSumaL>\n                    <dSumaV>{$priceNoVat}</dSumaV>\n                    <dSumaPVMV>{$priceVatValue}</dSumaPVMV>\n                    <dSumaPVML>{$priceVatValue}</dSumaPVML>\n                </PardDokPrekeDetEil>";
     }
     $shippingAmountVat = round($order->getShippingAmount(), 4);
     $shippingAmountNoVat = round($shippingAmountVat / ($VAT / 100 + 1), 4);
     $shippingVatValue = round($shippingAmountVat - $shippingAmountNoVat, 4);
     $XML .= "\n            <PardDokPaslaugaDetEil>\n                <sKodas>TRANSPORTAV</sKodas>\n                <nKiekis>100</nKiekis>\n                <dSumaV>{$shippingAmountNoVat}</dSumaV>\n                <dSumaL>{$shippingAmountNoVat}</dSumaL>\n                <dSumaPVMV>{$shippingVatValue}</dSumaPVMV>\n                <dSumaPVML>{$shippingVatValue}</dSumaPVML>\n    \t    </PardDokPaslaugaDetEil>\n        ";
     $XML .= "</TrumpasPardRezDok>";
     /** @var $fvs Srautas_Finvalda_Webservice */
     $fvs = Mage::getSingleton('finvalda/webservice');
     $fvs->InsertNewOperation(array('ItemClassName' => 'TrumpasPardRezDok', 'sParametras' => 'PIRMAS', 'xmlString' => $XML));
     return $this;
 }
 protected function _getButtonsHtml(SM_Vendors_Model_Order $vendorOrder, Mage_Sales_Model_Order $order, $vendorId)
 {
     $buttonGroups = array();
     $urlParams = array('order_id' => $order->getId(), 'do_as_vendor' => $vendorId);
     if ($vendorOrder->canCancel()) {
         $message = Mage::helper('sales')->__('Are you sure you want to cancel this order?');
         $button = $this->getLayout()->createBlock('adminhtml/widget_button')->setData(array('id' => 'order_cancel_' . $vendorId, 'label' => Mage::helper('sales')->__('Cancel'), 'onclick' => 'deleteConfirm(\'' . $message . '\', \'' . $this->getUrl('*/vendors_order/cancel', $urlParams) . '\')'));
         $buttonGroups[] = $button->toHtml();
     }
     if ($vendorOrder->canInvoice()) {
         $_label = $order->getForcedDoShipmentWithInvoice() ? Mage::helper('sales')->__('Invoice and Ship') : Mage::helper('sales')->__('Invoice');
         $button = $this->getLayout()->createBlock('adminhtml/widget_button')->setData(array('id' => 'order_invoice_' . $vendorId, 'label' => $_label, 'onclick' => 'setLocation(\'' . $this->getUrl('*/vendors_order_invoice/start', $urlParams) . '\')', 'class' => 'go'));
         $buttonGroups[] = $button->toHtml();
     }
     if ($vendorOrder->canShip() && !$order->getForcedDoShipmentWithInvoice()) {
         $button = $this->getLayout()->createBlock('adminhtml/widget_button')->setData(array('id' => 'order_ship_' . $vendorId, 'label' => Mage::helper('sales')->__('Ship'), 'onclick' => 'setLocation(\'' . $this->getUrl('*/vendors_order_shipment/new', $urlParams) . '\')', 'class' => 'go'));
         $buttonGroups[] = $button->toHtml();
     }
     if ($vendorOrder->canCreditmemo()) {
         $message = Mage::helper('sales')->__('This will create an offline refund. To create an online refund, open an invoice and create credit memo for it. Do you wish to proceed?');
         $urlParams['_current'] = true;
         $creditMemoUrl = $this->getUrl('*/vendors_order_creditmemo/new', $urlParams);
         $onClick = "setLocation('{$creditMemoUrl}')";
         if ($order->getPayment()->getMethodInstance()->isGateway()) {
             $onClick = "confirmSetLocation('{$message}', '{$creditMemoUrl}')";
         }
         $button = $this->getLayout()->createBlock('adminhtml/widget_button')->setData(array('id' => 'order_creditmemo_' . $vendorId, 'label' => Mage::helper('sales')->__('Credit Memo'), 'onclick' => $onClick, 'class' => 'go'));
         $buttonGroups[] = $button->toHtml();
     }
     if (!empty($buttonGroups)) {
         return '<p class="form-buttons">' . implode("\n", $buttonGroups) . '</p>';
     } else {
         return '';
     }
 }
Example #19
0
 /**
  * Gets the Nosto ID for an order model.
  * The Nosto ID represents the customer who placed to the order on Nosto's
  * side.
  *
  * @param Mage_Sales_Model_Order $order the order to get the Nosto ID for.
  *
  * @return bool|string the Nosto ID or false if not found for order.
  */
 public function getNostoId(Mage_Sales_Model_Order $order)
 {
     /** @var Nosto_Tagging_Model_Customer $customer */
     $customer = Mage::getModel('nosto_tagging/customer');
     $customer->load($order->getQuoteId(), 'quote_id');
     return $customer->hasData('nosto_id') ? $customer->getNostoId() : false;
 }
 /**
  * Processes payment for specified order
  * @param Mage_Sales_Model_Order $Order
  * @return
  */
 public function processOrder(Mage_Sales_Model_Order $PrimaryOrder, Mage_Sales_Model_Order $Order = null)
 {
     // Set order as pending
     $Order->addStatusToHistory('pending', '', false)->save();
     // Throw exception to suspend subscription
     throw new AW_Sarp_Exception("Suspending subscription till order status change to completed");
 }
Example #21
0
 protected function _shipOrder(Mage_Sales_Model_Order $order)
 {
     $itemQty = $order->getItemsCollection()->count();
     $shipment = Mage::getModel('sales/service_order', $order)->prepareShipment($itemQty);
     $shipment = new Mage_Sales_Model_Order_Shipment_Api();
     $shipmentId = $shipment->create($order->getIncrementId());
 }
Example #22
0
 /**
  * @magentoDataFixture Mage/Sales/_files/order.php
  */
 public function testOrderViewAction()
 {
     $order = new Mage_Sales_Model_Order();
     $order->load('100000001', 'increment_id');
     $this->dispatch('admin/sales_order/view/order_id/' . $order->getId());
     $this->assertContains('Los Angeles', $this->getResponse()->getBody());
 }
 /**
  * Check if last order is PayPalPlus
  * @return bool
  */
 public function isPPP()
 {
     if ($this->_order->getPayment()->getMethodInstance()->getCode() == self::IWAYS_PAYPALPLUS_PAYMENT) {
         return true;
     }
     return false;
 }
Example #24
0
 /**
  * @param Mage_Sales_Model_Order $magentoOrder
  * @throws Reverb_ReverbSync_Model_Exception_Data_Order_Update
  */
 protected function _inspectWhyCanNotUpdateAndThrowException(Mage_Sales_Model_Order $magentoOrder)
 {
     if ($magentoOrder->isPaymentReview()) {
         $this->_throwCanNotUpdateException($magentoOrder, self::REASON_PAYMENT_REVIEW);
     }
     if ($magentoOrder->canUnhold()) {
         $this->_throwCanNotUpdateException($magentoOrder, self::REASON_HOLD);
     }
     if ($magentoOrder->isCanceled()) {
         $this->_throwCanNotUpdateException($magentoOrder, self::REASON_CANCELLED);
     }
     $state = $magentoOrder->getState();
     if ($state === Mage_Sales_Model_Order::STATE_COMPLETE) {
         $this->_throwCanNotUpdateException($magentoOrder, self::REASON_COMPLETE);
     }
     if ($state === Mage_Sales_Model_Order::STATE_CLOSED) {
         $this->_throwCanNotUpdateException($magentoOrder, self::REASON_CLOSED);
     }
     $allInvoiced = true;
     foreach ($magentoOrder->getAllItems() as $item) {
         if ($item->getQtyToInvoice()) {
             $allInvoiced = false;
             break;
         }
     }
     if ($allInvoiced) {
         $this->_throwCanNotUpdateException($magentoOrder, self::REASON_INVOICED);
     }
     $this->_throwCanNotUpdateException($magentoOrder, self::REASON_DEFAULT);
 }
 /**
  * @param Varien_Event_Observer $observer
  * @return $this
  */
 public function salesOrderSaveAfter($observer)
 {
     $event = $observer->getEvent();
     /** @noinspection PhpUndefinedMethodInspection */
     /** @var Mage_Sales_Model_Order $order_after */
     $order_after = $event->getOrder();
     if ($order_after && $this->_temp_order_before && $order_after->getId() == $this->_temp_order_before->getId()) {
         $order_before = $this->_temp_order_before;
         if ($order_after && $order_before) {
             $status_before = $order_before->getStatus();
             $status_after = $order_after->getStatus();
             $state_before = $order_before->getState();
             $state_after = $order_after->getState();
             $state_changed = $status_before != $status_after || $state_before != $state_after;
             /** @var Payin7_Payments_Model_Payin7orderhistory $mh */
             $mh = Mage::getModel('payin7payments/payin7orderhistory');
             if ($state_changed) {
                 $mh->markOrderStateChanged($order_after);
             } else {
                 $mh->markOrderUpdated($order_after);
             }
             $this->_flushFastOrderHistory();
         }
         $this->_temp_order_before = null;
     }
     return $this;
 }
 /**
  * @param Mage_Sales_Model_Order $order
  *
  * @return $this
  */
 public function setOrder(Mage_Sales_Model_Order $order)
 {
     if (!$order || !$order->getId()) {
         return $this;
     }
     $this->_order = $order;
     return $this;
 }
 /**
  * Returns the current customers email adress.
  * @param Mage_Sales_Model_Quote|Mage_Sales_Model_Order $object
  * @return string the customers email adress
  */
 public function getCustomerEmail($object)
 {
     $email = $object->getCustomerEmail();
     if (empty($email)) {
         $email = $object->getBillingAddress()->getEmail();
     }
     return $email;
 }
 /**
  * Check order view availability
  *
  * @param   Mage_Sales_Model_Order $order
  * @return  bool
  */
 protected function _canViewOrder($order)
 {
     $currentOrder = Mage::registry('current_order');
     if ($order->getId() && $order->getId() === $currentOrder->getId()) {
         return true;
     }
     return false;
 }
Example #29
0
 /**
  * Retrieve tracking url with params
  *
  * @param  string $key
  * @param  Mage_Sales_Model_Order|Mage_Sales_Model_Order_Shipment|Mage_Sales_Model_Order_Shipment_Track $model
  * @param  string $method Optional - method of a model to get id
  * @return string
  */
 protected function _getTrackingUrl($key, $model, $method = 'getId')
 {
     $helper = Mage::helper('Mage_Core_Helper_Data');
     $urlPart = "{$key}:{$model->{$method}()}:{$model->getProtectCode()}";
     $param = array('hash' => $helper->urlEncode($urlPart));
     $storeModel = Mage::app()->getStore($model->getStoreId());
     return $storeModel->getUrl('shipping/tracking/popup', $param);
 }
 /**
  * Processes payment for specified order
  * @param Mage_Sales_Model_Order $Order
  * @return
  */
 public function processOrder(Mage_Sales_Model_Order $PrimaryOrder, Mage_Sales_Model_Order $Order = null)
 {
     if ($Order->getBaseGrandTotal() > 0) {
         $result = $this->getWebService()->setSubscription($this->getSubscription())->setOrder($Order)->createTransaction();
         $ccTransId = @$result->transactionId;
         $Order->getPayment()->setCcTransId($ccTransId);
     }
 }