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 '';
     }
 }
示例#2
0
 public function sendNewOrderEmailToVendor(SM_Vendors_Model_Order $vendorOrder, Mage_Sales_Model_Order $order)
 {
     $data = array();
     $data['order'] = $order;
     $data['can_send_method'] = 'canSendNewOrderEmail';
     $data['template_id'] = self::ORDER_EMAIL_TO_VENDOR_TEMPLATE_ID;
     $data['email_identity'] = self::ORDER_XML_PATH_EMAIL_IDENTITY;
     $data['notify_customer'] = false;
     $data['target_object'] = $order;
     $data['acceptorder'] = Mage::helper("adminhtml")->getUrl("adminhtml/customemail/index/", array("orderid" => $vendorOrder->getId()));
     $result = $this->_sendMail($vendorOrder, $data, self::TYPE_NEW);
     if (!$result) {
         Mage::log("[smvendors][sendNewOrderEmailToVendor] Error when sending email. Data=\n");
         Mage::log(print_r($data, true));
     }
     return $result;
 }