Ejemplo n.º 1
0
    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"])
Ejemplo n.º 2
0
    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"])
Ejemplo n.º 3
0
    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)
Ejemplo n.º 4
0
    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)