Advertisement
Guest User

Untitled

a guest
Mar 6th, 2013
493
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 5.06 KB | None | 0 0
  1. public function createFirstOrderAndInvoice($observer)
  2.     {
  3.         $order = Mage::getModel('sales/order')->load(100000011);
  4.         $order2 = Mage::getModel('sales/order')->load(100000012);
  5.         Mage::log($order, null, 'orders.log');
  6.         Mage::log($order2 , null, 'orders.log');
  7.         $customer = $observer->getCustomer();
  8.         Mage::log($customer->debug(), null, 'order_test.log');
  9.         $transaction = Mage::getModel('core/resource_transaction');
  10.         $storeId = $customer->getStoreId();
  11.         $reservedOrderId = Mage::getSingleton('eav/config')->getEntityType('order')->fetchNewIncrementId($storeId);
  12.          
  13.         $order = Mage::getModel('sales/order')
  14.         ->setIncrementId($reservedOrderId)
  15.         ->setStoreId($storeId)
  16.         ->setQuoteId(0)
  17.         ->setGlobal_currency_code('EUR')
  18.         ->setBase_currency_code('EUR')
  19.         ->setStore_currency_code('EUR')
  20.         ->setOrder_currency_code('EUR');
  21.         //Set your store currency USD or any other
  22.          
  23.         // set Customer data
  24.         $order->setCustomer_email($customer->getEmail())
  25.         ->setCustomerFirstname($customer->getFirstname())
  26.         ->setCustomerLastname($customer->getLastname())
  27.         ->setCustomerGroupId($customer->getGroupId())
  28.         ->setCustomer_is_guest(0)
  29.         ->setCustomer($customer);
  30.          
  31.         // set Billing Address
  32.         //$billing = $customer->getDefaultBilling();
  33.         $billing = Mage::getModel('customer/address')->load($customer->getDefaultBilling());
  34.         $billingAddress = Mage::getModel('sales/order_address')
  35.         ->setStoreId($storeId)
  36.         ->setAddressType(Mage_Sales_Model_Quote_Address::TYPE_BILLING)
  37.         ->setCustomerId($customer->getId())
  38.         ->setCustomerAddressId($customer->getDefaultBilling())
  39.         ->setCustomer_address_id($billing->getEntityId())
  40.         ->setPrefix($billing->getPrefix())
  41.         ->setFirstname($billing->getFirstname())
  42.         ->setMiddlename($billing->getMiddlename())
  43.         ->setLastname($billing->getLastname())
  44.         ->setSuffix($billing->getSuffix())
  45.         ->setCompany($billing->getCompany())
  46.         ->setStreet($billing->getStreet())
  47.         ->setCity($billing->getCity())
  48.         ->setCountry_id($billing->getCountryId())
  49.         ->setRegion($billing->getRegion())
  50.         ->setRegion_id($billing->getRegionId())
  51.         ->setPostcode($billing->getPostcode())
  52.         ->setTelephone($billing->getTelephone())
  53.         ->setFax($billing->getFax());
  54.         $order->setBillingAddress($billingAddress);
  55.          
  56.         //$shipping = $customer->getDefaultShippingAddress();
  57.         $shipping = Mage::getModel('customer/address')->load($customer->getDefaultShipping());
  58.         $shippingAddress = Mage::getModel('sales/order_address')
  59.         ->setStoreId($storeId)
  60.         ->setAddressType(Mage_Sales_Model_Quote_Address::TYPE_SHIPPING)
  61.         ->setCustomerId($customer->getId())
  62.         ->setCustomerAddressId($customer->getDefaultShipping())
  63.         ->setCustomer_address_id($shipping->getEntityId())
  64.         ->setPrefix($shipping->getPrefix())
  65.         ->setFirstname($shipping->getFirstname())
  66.         ->setMiddlename($shipping->getMiddlename())
  67.         ->setLastname($shipping->getLastname())
  68.         ->setSuffix($shipping->getSuffix())
  69.         ->setCompany($shipping->getCompany())
  70.         ->setStreet($shipping->getStreet())
  71.         ->setCity($shipping->getCity())
  72.         ->setCountry_id($shipping->getCountryId())
  73.         ->setRegion($shipping->getRegion())
  74.         ->setRegion_id($shipping->getRegionId())
  75.         ->setPostcode($shipping->getPostcode())
  76.         ->setTelephone($shipping->getTelephone())
  77.         ->setFax($shipping->getFax());
  78.          
  79.         $order->setShippingAddress($shippingAddress)
  80.         ->setShipping_method('flatrate_flatrate');
  81.         /*->setShippingDescription($this->getCarrierName('flatrate'));*/
  82.         /*some error i am getting here need to solve further*/
  83.          
  84.         //you can set your payment method name here as per your need
  85.         $orderPayment = Mage::getModel('sales/order_payment')
  86.         ->setStoreId($storeId)
  87.         ->setCustomerPaymentId(0)
  88.         ->setMethod('purchaseorder')
  89.         ->setPo_number(' – ');
  90.         $order->setPayment($orderPayment);
  91.          
  92.         // let say, we have 1 product
  93.         //check that your products exists
  94.         //need to add code for configurable products if any
  95.         $subTotal = 0;
  96.         $products = array(
  97.             '1' => array(
  98.                 'qty' => 1
  99.             )
  100.         );
  101.          
  102.         foreach ($products as $productId=>$product) {
  103.         $_product = Mage::getModel('catalog/product')->load($productId);
  104.         $rowTotal = $_product->getPrice() * $product['qty'];
  105.         $orderItem = Mage::getModel('sales/order_item')
  106.         ->setStoreId($storeId)
  107.         ->setQuoteItemId(0)
  108.         ->setQuoteParentItemId(NULL)
  109.         ->setProductId($productId)
  110.         ->setProductType($_product->getTypeId())
  111.         ->setQtyBackordered(NULL)
  112.         ->setTotalQtyOrdered($product['rqty'])
  113.         ->setQtyOrdered($product['qty'])
  114.         ->setName($_product->getName())
  115.         ->setSku($_product->getSku())
  116.         ->setPrice($_product->getFinalPrice())
  117.         ->setBasePrice($_product->getFinalPrice())
  118.         ->setOriginalPrice($_product->getFinalPrice())
  119.         ->setRowTotal($rowTotal)
  120.         ->setBaseRowTotal($rowTotal);
  121.          
  122.         $subTotal += $rowTotal;
  123.         $order->addItem($orderItem);
  124.         }
  125.          
  126.         $order->setSubtotal($subTotal)
  127.         ->setBaseSubtotal($subTotal)
  128.         ->setGrandTotal($subTotal)
  129.         ->setBaseGrandTotal($subTotal);
  130.          
  131.         $transaction->addObject($order);
  132.         $transaction->addCommitCallback(array($order, 'place'));
  133.         $transaction->addCommitCallback(array($order, 'save'));
  134.         $transaction->save();
  135.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement