public function SendSmsOrderStatusChange(Varien_Event_Observer $observer) { $orderID = $observer->getOrder()->getIncrementId(); $msisdn = $observer->getOrder()->getBillingAddress()->getTelephone(); // Customer Mobile No $status = $observer->getEvent()->getOrder()->getStatus(); $state = $observer->getEvent()->getOrder()->getState(); $paymethod = $observer->getEvent()->getOrder()->getPayment()->getMethodInstance()->getCode(); //START check status & generated SMS Code here your code $sms = ''; if (!empty($status)) { if ($status == 'pending' && ($paymethod == 'cashondelivery' || $paymethod == 'checkmo')) { $sms = 'Your submitted order (#' . $orderID . ') is now in Pending status. Thank You.@SSLW'; } else { if ($status == 'processing') { $sms = 'Your invoice is generated. We are processing your order (#' . $orderID . '). Please keep patience.@SSLW'; } else { if ($status == 'complete') { $sms = 'Your order (#' . $orderID . ') is now on Delivery process. Soon you will receive your order.@SSLW'; } else { exit; } } } // ALL Other status condition will be here.. //START SMS API Code here your code //$msisdn2='0171767xxxx'; // Store Admin Mobile No //$sms = 'Congrats! You have successfully Register. Thank You.@SSLW'; //May Change SMS Body here if (!empty($sms)) { $user = "******"; $pass = "******"; //if change login password isms.sslwireless.com then change new here $sid = "StakeHolderName"; //Stake Holder Name here $url = "http://sms.sslwireless.com/pushapi/dynamic/server.php"; $unique_id_1 = uniqid(); $unique_id_2 = uniqid(); $param = "user={$user}&pass={$pass}&sid={$sid}&"; $sms = "sms[0][0]={$msisdn}&sms[0][1]=" . urlencode($sms) . "&sms[0][2]=" . $unique_id_1 . "&sms[1][0]={$msisdn2}&sms[1][1]=" . urlencode($sms) . "&sms[1][2]=" . $unique_id_2 . ""; $data = $param . $sms . $sid; $crl = curl_init(); curl_setopt($crl, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($crl, CURLOPT_SSL_VERIFYHOST, 2); curl_setopt($crl, CURLOPT_URL, $url); curl_setopt($crl, CURLOPT_HEADER, 0); curl_setopt($crl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($crl, CURLOPT_POST, 1); curl_setopt($crl, CURLOPT_POSTFIELDS, $data); $response = curl_exec($crl); curl_close($crl); //echo $response; } //end sms body check //END SMS API Code here your code } //End status Code here your code /* else { $sms = 'Dear customer, thank you for shopping online. Your Order ID is #'.$orderID.'. @PURNAVA.'; }*/ }
public function SendSmsOrderStatusChange(Varien_Event_Observer $observer) { $orderID = $observer->getOrder()->getIncrementId(); $msisdn = $observer->getOrder()->getBillingAddress()->getTelephone(); // Customer Mobile No $status = $observer->getEvent()->getOrder()->getStatus(); $state = $observer->getEvent()->getOrder()->getState(); //START SMS API Code here your code //$msisdn2='0171767xxxx'; // Store Admin Mobile No $sms = 'The status of your OrderID #' . $orderID . ' changed to In ' . $status . '. Thank You @SSLW'; //May Change SMS Body here $user = "******"; $pass = "******"; //if change login password isms.sslwireless.com then change new here $sid = "StakeHolderName"; //Stake Holder Name here $url = "http://sms.sslwireless.com/pushapi/dynamic/server.php"; $unique_id_1 = uniqid(); $unique_id_2 = uniqid(); $param = "user={$user}&pass={$pass}&sid={$sid}&"; $sms = "sms[0][0]={$msisdn}&sms[0][1]=" . urlencode($sms) . "&sms[0][2]=" . $unique_id_1 . "&sms[1][0]={$msisdn2}&sms[1][1]=" . urlencode($sms) . "&sms[1][2]=" . $unique_id_2 . ""; $data = $param . $sms . $sid; $crl = curl_init(); curl_setopt($crl, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($crl, CURLOPT_SSL_VERIFYHOST, 2); curl_setopt($crl, CURLOPT_URL, $url); curl_setopt($crl, CURLOPT_HEADER, 0); curl_setopt($crl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($crl, CURLOPT_POST, 1); curl_setopt($crl, CURLOPT_POSTFIELDS, $data); $response = curl_exec($crl); curl_close($crl); //echo $response; //ENd SMS API Code here your code }
/** * Notify Sailthru that a purchase has been made. This automatically cancels * any scheduled abandoned cart email. * * @param Varien_Event_Observer $observer * @return */ public function placeOrder(Varien_Event_Observer $observer) { if ($this->_isEnabled && $observer->getOrder()->getCustomerEmail()) { try { $response = Mage::getModel('sailthruemail/client_purchase')->sendOrder($observer->getOrder()); } catch (Exception $e) { Mage::logException($e); } } return $this; }
/** * Monitor order change event, sending order status to Touch Retail API system * * @param Varien_Event_Observer $observer */ public function sendOrderStatus(Varien_Event_Observer $observer) { if (Mage::helper('orderstatus')->isTouchRetailOrderStatusEnabled()) { $order = $observer->getOrder(); $orderStatus = $observer->getOrder()->getStatus(); //var_dump($orderStatus); $orderStatuses = in_array($orderStatus, explode(",", Mage::helper('orderstatus')->getOrderStatuses())); if ($orderStatuses) { $this->executeApiCall($order, $orderStatus); } } }
/** * Scans order for product based post purchases * * @param Varien_Event_Observer $observer * @return boolean */ public function processPostOrders($observer) { if ($observer->getOrder()) { $appEmulation = Mage::getSingleton('core/app_emulation'); $emulatedInfo = $appEmulation->startEnvironmentEmulation($observer->getOrder()->getStoreId()); try { $this->_processOrder($observer->getOrder()); } catch (Exception $e) { $this->_helper->writeError("Failed to examine order: {$e->getMessage()}"); } $appEmulation->stopEnvironmentEmulation($emulatedInfo); } }
/** * event: sales_model_service_quote_submit_success */ public function decrementQuantities(Varien_Event_Observer $observer) { /** @var Mage_Sales_Model_Order $order */ $order = $observer->getOrder(); /** @var Mage_Sales_Model_Order_Item $item */ foreach ($order->getAllItems() as $item) { $additionalData = array(); $serializedAdditionalData = $item->getAdditionalData(); if (!empty($serializedAdditionalData)) { $additionalData = unserialize($serializedAdditionalData); } $orderedQty = $item->getQtyOrdered(); /** @var Webgriffe_Multiwarehouse_Model_Resource_Warehouse_Product_Collection $warehouseProducts */ $warehouseProducts = Mage::getModel('wgmulti/warehouse_product')->getCollection()->addProductIdFilter($item->getProductId())->addWarehousePositionOrder(); foreach ($warehouseProducts as $warehouseProduct) { if ($warehouseProduct->getQty() >= $orderedQty) { $warehouseProduct->setQty($warehouseProduct->getQty() - $orderedQty); $additionalData[$warehouseProduct->getWarehouseId()] = $orderedQty; break; } $additionalData[$warehouseProduct->getWarehouseId()] = $warehouseProduct->getQty(); $orderedQty -= $warehouseProduct->getQty(); $warehouseProduct->setQty(0); } $item->setAdditionalData(serialize($additionalData))->save(); $warehouseProducts->save(); } }
public function salesOrderSaveAfter(Varien_Event_Observer $observer) { $order = $observer->getOrder(); $storeId = Mage::app()->getStore()->getStoreId(); // Check if the order status has changed $originalOrderStatus = $order->getOrigData('status'); $orderStatus = $order->getStatus(); if ($originalOrderStatus !== $orderStatus) { Mage::helper('canceledordernotification')->log('Order status has changed: ' . print_r($orderStatus, true)); $notificationStatuses = Mage::getStoreConfig('sales_email/order/order_status_notification_statuses'); $notificationStatuses = $notificationStatuses ? explode(',', $notificationStatuses) : array(); // Check if the new order status should trigger a notification if (in_array($orderStatus, $notificationStatuses)) { Mage::helper('canceledordernotification')->log('Order status is in list of notification statuses: ' . print_r(array($orderStatus, $notificationStatuses), true)); // Check if a recipient has been defined if ($recipients = Mage::getStoreConfig('sales_email/order/copy_to', $storeId)) { // Trigger the email(s) foreach (explode(',', $recipients) as $recipient) { Mage::helper('canceledordernotification/notification')->send($order, $recipient); } } else { Mage::helper('canceledordernotification')->log('No order email copy recipient defined, not sending a notification email'); } } else { Mage::helper('canceledordernotification')->log('Order status is not in list of notification statuses: ' . print_r(array($orderStatus, $notificationStatuses), true)); } } return $observer; }
/** * Method used for canceling a Aplazame invoice when a Magento order is canceled * * @param Varien_Event_Observer $observer */ public function salesOrderPaymentCancel($observer) { /** @var Mage_Sales_Model_Order|null $order */ $order = $observer->getOrder(); $orderId = explode("-", $order->getIncrementId()); if (isset($orderId[1])) { /** @var Mage_Sales_Model_Order $nextOrder */ $nextOrder = Mage::getModel('sales/order')->loadByIncrementId($orderId[0] . '-' . ((int) $orderId[1] + 1)); if ($nextOrder->getId()) { return $this; } } if (!$this->is_aplazame_payment($order)) { return $this; } /** @var Aplazame_Aplazame_Model_Api_Client $client */ $client = Mage::getModel('aplazame/api_client'); try { $client->cancelOrder($order); } catch (Aplazame_Sdk_Api_ApiClientException $e) { if ($e->getStatusCode() == 404) { return $this; } throw $e; } return $this; }
/** * Add invoice PDF to order confirmation email; * Listen to 'sales_order_send_new_email_before' event * * @param Varien_Event_Observer $observer */ public function addInvoicePdf(Varien_Event_Observer $observer) { //get mailer instance $mailer = $observer->getMailer(); //get order instance /** @var $order Mage_Sales_Model_Order */ $order = $observer->getOrder(); $storeId = $order->getStoreId(); //generating array of invoices from collection $invoicesCollection = $order->getInvoiceCollection(); $invoicesArray = array(); foreach ($invoicesCollection as $_invoice) { $invoicesArray[] = $_invoice; } if (count($invoicesArray) > 0) { if (!Mage::getStoreConfig(RC_Extsales_Helper_Data::XML_PATH_EMAIL_ATTACHED_USE_DEFAULT_PDF_TEMPLATE, $storeId)) { //Generating invoice by predefined template $pdf = Mage::helper('extsales/pdf')->htmlToPdf(Mage::helper('extsales')->getInvoiceHtmlForPdf($order, $invoicesArray)); } else { // Generating pdf from all invoices and put them to mailer object $pdf = Mage::getModel('sales/order_pdf_invoice')->getPdf($invoicesArray)->render(); } $pdfAttachment = Mage::helper('extsales')->createAttachment($pdf); // Appending attachment to mailer object $attachments = is_array($mailer->getData('attachments')) ? $mailer->getData('attachments') : array(); $attachments[] = $pdfAttachment; $mailer->setAttachments($attachments); } }
/** * Applies the special price percentage discount * @param Varien_Event_Observer $observer * @return Xyz_Catalog_Model_Price_Observer */ public function send_transaction_email($observer) { $order = $observer->getOrder(); if (Mage::app()->getStore()->isAdmin() && $order->getPayment()->getMethodInstance()->getCode() == 'iwbank_cc') { Mage::getModel('emergento_iwbank/iwbank')->setPayment($order->getIncrementId())->sendTransactionEmail(); } }
/** * Track orders based on their statuses * * @param Varien_Event_Observer $observer * @return null */ public function trackOrderStatus(Varien_Event_Observer $observer) { $helper = Mage::helper('totango'); // Current order state $orderState = $observer->getOrder()->getState(); // List of order states and their data $orderStates = array(Mage_Sales_Model_Order::STATE_COMPLETE => array('tracker-name' => 'complete_orders', 'attribute-name' => 'Complete Orders'), Mage_Sales_Model_Order::STATE_CANCELED => array('tracker-name' => 'canceled_orders', 'attribute-name' => 'Canceled Orders')); $helper->log(sprintf('Track %s order', $orderState)); if (!$helper->isEnabled()) { return; } if (!isset($orderStates[$orderState])) { $helper->log(array('message' => sprintf('%s orders are not trackable', ucfirst($orderState)), 'level' => 5)); return; } foreach ($orderStates as $state => $data) { if ($helper->isTrackerEnabled($data['tracker-name'])) { // The following line which is used inside // a for loop is a bit expensive! // I might look for a possible workaround later. $orders = Mage::getModel('sales/order')->getCollection()->addAttributeToFilter('status', array('eq' => $state))->getSize(); $helper->track(array('account-attribute' => array($data['attribute-name'] => $orders))); } } }
/** * Disable order cancel, invoice and reorder actions for orders placed via Rakuten Checkout * Observes "sales_order_load_after" event * * @param Varien_Event_Observer $observer * @return void */ public function disableOrderActions($observer) { try { /** @var $order Mage_Sales_Model_Order */ $order = $observer->getOrder(); if ($order->getRakutenOrder()) { /** * Full list of Order Action flags: * - ACTION_FLAG_CANCEL * - ACTION_FLAG_HOLD * - ACTION_FLAG_UNHOLD * - ACTION_FLAG_EDIT * - ACTION_FLAG_CREDITMEMO * - ACTION_FLAG_INVOICE * - ACTION_FLAG_REORDER * - ACTION_FLAG_SHIP * - ACTION_FLAG_COMMENT */ $order->setActionFlag(Mage_Sales_Model_Order::ACTION_FLAG_CANCEL, false); $order->setActionFlag(Mage_Sales_Model_Order::ACTION_FLAG_EDIT, false); $order->setActionFlag(Mage_Sales_Model_Order::ACTION_FLAG_CREDITMEMO, false); $order->setActionFlag(Mage_Sales_Model_Order::ACTION_FLAG_INVOICE, false); $order->setActionFlag(Mage_Sales_Model_Order::ACTION_FLAG_REORDER, false); //$order->setActionFlag(Mage_Sales_Model_Order::ACTION_FLAG_SHIP, false); } } catch (Exception $e) { } }
/** * Disables sending email after the order creation * * @return updated order */ public function disableEmailForMultishipping(Varien_Event_Observer $observer) { $order = $observer->getOrder(); if (!(strpos($order->getPayment()->getMethod(), 'cybermut') === false)) { $order->setCanSendNewEmailFlag(false)->save(); } return $this; }
/** * Stores current order in registry * * @param Varien_Event_Observer $observer * @return Datatrans_Hiddenmode_Model_Observer */ public function saveOrderInRegistry(Varien_Event_Observer $observer) { if (Mage::registry('datatrans_hm_current_order')) { Mage::unregister('datatrans_hm_current_order'); } Mage::register('datatrans_hm_current_order', $observer->getOrder()); return $this; }
public function completeSms(Varien_Event_Observer $observer) { $incrementId = $observer->getOrder()->getIncrementId(); $order = $observer->getOrder(); if ($order->getState() == Mage_Sales_Model_Order::STATE_COMPLETE) { if ($order->getStatus() == 'complete') { $mobile = $order->getShippingAddress()->getData('telephone'); $param['username'] = Mage::getStoreConfig('bhsms/api/username'); $param['password'] = Mage::getStoreConfig('bhsms/api/password'); $param['to'] = $mobile; $param['udh'] = Mage::getStoreConfig('bhsms/api/udh'); $param['from'] = Mage::getStoreConfig('bhsms/api/from'); $param['text'] = "Your shipment (Order#" . $incrementId . ") has been delivered. For any further queries write to us at info@mysite.com or call us at +91 99 99999999."; // Your shipment (Order#100000001) has been delivered. For any further queries write to us at info@mysite.com or call us at +91 99 99999999." $this->sendSms($param); } } }
public function salesOrderAfterSave(Varien_Event_Observer $observer) { $order = $observer->getOrder(); if ($res = $order->getFraudDataTemp()) { if ($order->getId()) { Mage::helper('frauddetection')->saveFraudData($res, $order); $order->unsFraudDataTemp(); } } }
public function order_cancel_after(Varien_Event_Observer $observer) { $order = $observer->getOrder(); $transactionid = Mage::helper('dibspw')->getTransactionId($order->getRealOrderId()); if ($transactionid) { $dibspw = Mage::getModel('dibspw/dibspw'); $dibspw->cancel($order->getPayment()); } return $this; }
public function setPaymentInfo(Varien_Event_Observer $observer) { $order = $observer->getOrder(); $payment = $order->getPayment(); $code = $payment->getMethod(); if (in_array($code, array('paypal_standard'))) { $payment->setAdditionalInformation('payment_currency', Mage::helper('ppfix')->getToCurrency()); $payment->setAdditionalInformation('due_amount', Mage::helper('ppfix')->convertAmount($order->getGrandTotal())); $payment->setAdditionalInformation('exchange_rate', Mage::helper('ppfix')->getCurrentExchangeRate()); } $payment->save(); }
function onSalesOrderPlaceBefore(Varien_Event_Observer $observer) { $customer = $observer->getOrder()->getCustomer(); //$checkoutMethod = $observer->getOrder()->getQuote()->getData('checkout_method'); $checkoutMethod = $observer->getQuote()->getData('checkout_method'); $password = $customer->getPassword(); if ($checkoutMethod == Mage_Checkout_Model_Type_Onepage::METHOD_REGISTER || $checkoutMethod == 'register') { if ($password === NULL || $password == '') { Mage::throwException(Mage::helper('aitcheckout')->__('The password cannot be empty.')); } } }
/** * Adds a history entry to orders placed using AU direct deposit or BPay. * * @listen checkout_type_onepage_save_order * @param Varien_Event_Observer $event */ public function addHistory($event) { /** @var $order Mage_Sales_Model_Order */ $order = $event->getOrder(); if ($order && $order->getPayment()) { if ($order->getPayment()->getMethod() == Fontis_Australia_Model_Payment_Directdeposit::CODE) { $order->addStatusHistoryComment('Order placed with Direct Deposit')->setIsCustomerNotified(false); } elseif ($order->getPayment()->getMethod() == Fontis_Australia_Model_Payment_Bpay::CODE) { $order->addStatusHistoryComment('Order placed with BPay')->setIsCustomerNotified(false); } } }
/** * @see checkout_type_onepage_save_order_after * @param Varien_Event_Observer $observer */ public function copyNewOrderEmail($observer) { $order = $observer->getOrder(); $store = Mage::app()->getStore(); $storeId = $store->getId(); $copyToEmails = Mage::getStoreConfig($order::XML_PATH_EMAIL_COPY_TO, $storeId); $copyTo = explode(',', $copyToEmails); $copyMethod = Mage::getStoreConfig($order::XML_PATH_EMAIL_COPY_METHOD, $storeId); if ($copyTo && $copyMethod == 'copy') { //disable copy to $store->setConfig($order::XML_PATH_EMAIL_COPY_TO, null); // Start store emulation process $appEmulation = Mage::getSingleton('core/app_emulation'); $initialEnvironmentInfo = $appEmulation->startEnvironmentEmulation($storeId); try { // Retrieve specified view block from appropriate design package (depends on emulated store) $paymentBlock = Mage::helper('payment')->getInfoBlock($order->getPayment())->setIsSecureMode(true); $paymentBlock->getMethod()->setStore($storeId); $paymentBlockHtml = $paymentBlock->toHtml(); } catch (Exception $exception) { // Stop store emulation process $appEmulation->stopEnvironmentEmulation($initialEnvironmentInfo); throw $exception; } // Stop store emulation process $appEmulation->stopEnvironmentEmulation($initialEnvironmentInfo); // Retrieve corresponding email template id and customer name $templateId = Mage::getStoreConfig('sales_email/order/copy_template', $storeId); $mailer = Mage::getModel('core/email_template_mailer'); // Email copies are sent as separated emails if their copy method is 'copy' foreach ($copyTo as $email) { $emailInfo = Mage::getModel('core/email_info'); $emailInfo->addTo($email); $mailer->addEmailInfo($emailInfo); } // Set all required params and send emails $mailer->setSender(Mage::getStoreConfig($order::XML_PATH_EMAIL_IDENTITY, $storeId)); $mailer->setStoreId($storeId); $mailer->setTemplateId($templateId); $templateParamsObj = new Varien_Object(); $templateParamsObj->setData(array('order' => $order, 'billing' => $order->getBillingAddress(), 'payment_html' => $paymentBlockHtml)); //additional template params Mage::dispatchEvent('aydus_orderemailcopy_copyneworderemail', array('template_params' => $templateParamsObj)); $templateParams = $templateParamsObj->getData(); $mailer->setTemplateParams($templateParams); /** @var $emailQueue Mage_Core_Model_Email_Queue */ $emailQueue = Mage::getModel('core/email_queue'); $emailQueue->setEntityId($order->getId())->setEntityType($order::ENTITY)->setEventType($order::EMAIL_EVENT_NAME_NEW_ORDER); $mailer->setQueue($emailQueue)->send(); } return $observer; }
public function salesModelServiceQuoteSubmitAfter(Varien_Event_Observer $observer) { $order = $observer->getOrder(); $quote = $observer->getQuote(); $paymentMethod = $quote->getPayment(); if ($paymentMethod->getMethod() == 'creditcard' && $quote->getPayment()->getOrderPlaceRedirectUrl()) { $state = Mage_Sales_Model_Order::STATE_PENDING_PAYMENT; $order->setState($state); $order->setStatus('pending_payment'); $order->setIsNotified(false); $order->save(); } }
/** * * @param Varien_Event_Observer $observer */ public function addCommentToOrder($observer) { if ($this->getRequest()->isPost()) { $comment = $this->getRequest()->getPost('ordercomment', false); if ($comment && strlen(trim($comment)) > 0) { $order = $observer->getOrder(); /* @var Mage_Sale_Model_Order $order */ $comment = nl2br(Mage::helper('core')->escapeHtml(trim($comment))); $order->setCustomerComment($comment); $order->setCustomerNoteNotify(true); $order->setCustomerNote($comment); } } }
/** * Track orders based on their statuses * * @param Varien_Event_Observer $observer * @return null */ public function trackOrderStatus(Varien_Event_Observer $observer) { $helper = Mage::helper('totango'); // Current order state $orderState = $observer->getOrder()->getState(); // List of order states and their data $orderStates = array(Mage_Sales_Model_Order::STATE_COMPLETE => array('tracker-name' => 'complete_orders', 'attribute-name' => 'CompleteOrders'), Mage_Sales_Model_Order::STATE_CANCELED => array('tracker-name' => 'canceled_orders', 'attribute-name' => 'CanceledOrders')); foreach ($orderStates as $state => $data) { if ($helper->isTrackerEnabled($data['tracker-name']) && $orderState == $state) { $orders = Mage::getModel('sales/order')->getCollection()->addAttributeToFilter('status', array('eq' => $state))->getSize(); $helper->track('account-attribute', array($data['attribute-name'] => $orders)); } } }
/** * Método para verificar alteração de status do pedido * * @param Varien_Event_Observer $observer */ public function checkOrderState(Varien_Event_Observer $observer) { $origOrderData = $observer->getEvent()->getData('data_object')->getOrigData(); $newOrderData = $observer->getEvent()->getData('data_object')->getData(); if ($origOrderData['state'] !== $newOrderData['state'] && $newOrderData['state'] == Mage_Sales_Model_Order::STATE_CANCELED) { // Verifica se pedido possui transação Bcash relacionada $order = $observer->getOrder()->getData(); if (!empty($order['transaction_id_bcash']) && !is_null($order['transaction_id_bcash'])) { $orderId = $order['entity_id']; $order = Mage::getModel('sales/order')->load($orderId); $order->addStatusHistoryComment('Pedido não cancelado através do cancelamento Bcash. A transação ' . $order['transaction_id_bcash'] . ' não foi alterada.'); $order->save(); } } }
function onSalesOrderPlaceBefore(Varien_Event_Observer $observer) { $customer = $observer->getOrder()->getCustomer(); $password = $customer->getPassword(); $quote = $observer->getQuote(); $checkoutMethod = $quote->getData('checkout_method'); if ($checkoutMethod == Mage_Checkout_Model_Type_Onepage::METHOD_REGISTER || $checkoutMethod == 'register') { // Magento does not create a customer account during checkout via PayPal prior to v 1.6.1 // thus in that case we should disable the following check to prevent unnecessary error if (!(version_compare(Mage::getVersion(), '1.6.1', 'lt') && $quote->getPayment()->getMethod() == Mage_Paypal_Model_Config::METHOD_WPP_EXPRESS && !$customer->getEmail())) { if (!$password === NULL || $password == '') { Mage::throwException(Mage::helper('aitcheckout')->__('The password cannot be empty.')); } } } }
public function addWishlist(Varien_Event_Observer $observer) { if (Mage::helper('autowishlist')->isEnabled()) { $order = $observer->getOrder(); $items = $order->getAllVisibleItems(); $wishlist = Mage::getModel('wishlist/wishlist')->loadByCustomer($order->getCustomerId(), true); foreach ($items as $item) { $option = $item->getProductOptions(); $product = Mage::getModel('catalog/product')->load($item->getProductId()); $params = array('product' => $productId, 'qty' => 1, 'store_id' => $storeId, 'options' => $option['info_buyRequest']['options']); $request = new Varien_Object(); $request->setData($params); $result = $wishlist->addNewItem($product, $request, true); } $wishlist->save(); } }
/** * @param Varien_Event_Observer $observer * @return bool */ public function sendOrder(Varien_Event_Observer $observer) { /* @var ShopgateOrder $shopgateOrder */ /* @var Mage_Sales_Model_Order $magentoOrder */ $shopgateOrder = $observer->getShopgateOrder(); $magentoOrder = $observer->getOrder(); if (class_exists("DreamRobot_Checkout_Model_Observer", false) && !$shopgateOrder->getIsShippingBlocked()) { $msg = "Start to send order to DreamRobot\n"; $msg .= "\tOrderID: {$magentoOrder->getId()}\n"; $msg .= "\tOrderNumber: {$magentoOrder->getIncrementId()}\n"; $msg .= "\tShopgateOrderNumber: {$shopgateOrder->getOrderNumber()}\n"; ShopgateLogger::getInstance()->log($msg, ShopgateLogger::LOGTYPE_REQUEST); Mage::getSingleton('checkout/type_onepage')->getCheckout()->setLastOrderId($magentoOrder->getId()); $c = new DreamRobot_Checkout_Model_Observer(); $c->getSaleOrder(); } return true; }
/** * If an Order's status is changing, * just reset the flag anyways... * * @param Varien_Event_Observer $observer */ public function markOrderForReimport(Varien_Event_Observer $observer) { /* @var $order Mage_Sales_Model_Order */ $order = $observer->getOrder(); /* @var $contactQueue Bronto_Order_Model_Queue */ $orderRow = Mage::getModel('bronto_order/queue')->getOrderRow($order->getId(), $order->getQuoteId(), $order->getStoreId()); $managedKey = Mage::helper('bronto_order')->getTidKey(); foreach (Mage::getModel('core/cookie')->get() as $key => $value) { // If managed key was found, use it; otherwise // If an original key was found, use that instead if ($key == 'tid_' . $managedKey) { $orderRow->setBrontoTid($value); break; } else { if (preg_match('/^tid_/', $key)) { $orderRow->setBrontoTid($value); } } } $orderRow->setCreatedAt($order->getCreatedAt())->setUpdatedAt($order->getUpdatedAt())->setBrontoImported(null)->save(); }
public function checkout_submit_all_after(Varien_Event_Observer $observer) { $order = $observer->getOrder(); $method = $order->getPayment()->getMethod(); if (strpos($method, 'buckaroo3extended') === false) { return $this; } try { $request = Mage::getModel('buckaroo3extended/request_abstract'); $request->setOrder($order)->setOrderBillingInfo(); $request->sendRequest(); } catch (Exception $e) { Mage::throwException($e->getMessage()); } // Now set our custom pending status $newStates = Mage::helper('buckaroo3extended')->getNewStates('BUCKAROO_PENDING_PAYMENT', $order, $method); if ($newStates[1] !== null) { $order->setStatus($newStates[1]); $order->save(); } return $this; }