def testGetOrders(self): """ """ om = IOrderManagement(self.shop) o = self.shop.orders o.invokeFactory("Order", "o1") o.invokeFactory("Order", "o5") o.invokeFactory("Order", "o3") o.invokeFactory("Order", "o4") o.invokeFactory("Order", "o2") o.reindexObject() wftool = getToolByName(self.shop, "portal_workflow") wftool.doActionFor(o.o1, "send_not_payed") ids = [o.getId() for o in om.getOrders(sorting="id", sort_order="descending")] self.assertEqual(ids, ["o5", "o4", "o3", "o2", "o1"]) ids = [o.getId() for o in om.getOrders(sorting="id", sort_order="ascending")] self.assertEqual(ids, ["o1", "o2", "o3", "o4", "o5"]) ids = [o.getId() for o in om.getOrders("pending")] self.assertEqual(ids, ["o5", "o3", "o4", "o2"]) ids = [o.getId() for o in om.getOrders("sent (not payed)")] self.assertEqual(ids, ["o1"])
def testGetOrders(self): """ """ om = IOrderManagement(self.shop) o = self.shop.orders o.invokeFactory("Order", "o1") o.invokeFactory("Order", "o5") o.invokeFactory("Order", "o3") o.invokeFactory("Order", "o4") o.invokeFactory("Order", "o2") o.reindexObject() wftool = getToolByName(self.shop, "portal_workflow") wftool.doActionFor(o.o1, "send_not_payed") ids = [ o.getId() for o in om.getOrders(sorting="id", sort_order="descending") ] self.assertEqual(ids, ["o5", "o4", "o3", "o2", "o1"]) ids = [ o.getId() for o in om.getOrders(sorting="id", sort_order="ascending") ] self.assertEqual(ids, ["o1", "o2", "o3", "o4", "o5"]) ids = [o.getId() for o in om.getOrders("pending")] self.assertEqual(ids, ["o5", "o3", "o4", "o2"]) ids = [o.getId() for o in om.getOrders("sent (not payed)")] self.assertEqual(ids, ["o1"])
def getOrders(self): """ """ om = IOrderManagement(IShopManagement(self.context).getShop()) result = [] for order in om.getOrders(): # omit closed orders wftool = getToolByName(self.context, "portal_workflow") if wftool.getInfoFor(order, "review_state") == "closed": continue customer = order.getCustomer() # am = IAddressManagement(customer) # shipping_address = am.getShippingAddress() im = IItemManagement(order) for item in im.getItems(): product = item.getProduct() row = ( order.getId(), customer.getId(), # shipping_address.getFirstname() + " " + shipping_address.getLastname(), product.getArticle_id(), product.Title(), "%s" % item.getProductQuantity(), "%.2f" % item.getProductPriceGross(), "%.2f" % item.getProductPriceNet(), "%.2f" % item.getProductTax(), "%.2f" % item.getTax(), "%.2f" % item.getTaxRate(), "%.2f" % item.getPriceGross(), "%.2f" % item.getPriceNet(), ) # row = ['"%s"' % field for field in row] row = ";".join(row) result.append(row) self.request.response.setHeader('Content-type', 'text/plain') self.request.response.setHeader( 'Content-disposition', 'attachment; filename=%s' % "orders.csv" ) return "\n".join(result)
def getOrders(self): """ """ om = IOrderManagement(IShopManagement(self.context).getShop()) result = [] for order in om.getOrders(): # omit closed orders wftool = getToolByName(self.context, "portal_workflow") if wftool.getInfoFor(order, "review_state") == "closed": continue customer = order.getCustomer() # am = IAddressManagement(customer) # shipping_address = am.getShippingAddress() im = IItemManagement(order) for item in im.getItems(): product = item.getProduct() row = ( order.getId(), customer.getId(), # shipping_address.getFirstname() + " " + shipping_address.getLastname(), product.getArticle_id(), product.Title(), "%s" % item.getProductQuantity(), "%.2f" % item.getProductPriceGross(), "%.2f" % item.getProductPriceNet(), "%.2f" % item.getProductTax(), "%.2f" % item.getTax(), "%.2f" % item.getTaxRate(), "%.2f" % item.getPriceGross(), "%.2f" % item.getPriceNet(), ) # row = ['"%s"' % field for field in row] row = ";".join(row) result.append(row) self.request.response.setHeader('Content-type', 'text/plain') self.request.response.setHeader( 'Content-disposition', 'attachment; filename=%s' % "orders.csv") return "\n".join(result)