Esempio n. 1
0
    def testGetDiscounts2(self):
        """
        """
        self.shop.discounts.invokeFactory("Discount",
                                          id="d1",
                                          title="D1",
                                          value="1.0")
        self.shop.discounts.invokeFactory("Discount",
                                          id="d2",
                                          title="D2",
                                          value="2.0",
                                          base="cart_item",
                                          type="percentage")

        dm = IDiscountsManagement(self.shop)

        # Discount 1
        discount = dm.getDiscounts()[0]
        self.assertEqual(discount.getId(), "d1")
        self.assertEqual(discount.Title(), "D1")
        self.assertEqual(discount.getValue(), 1.0)
        # defaults
        self.assertEqual(discount.getBase(), "product")
        self.assertEqual(discount.getType(), "absolute")

        # Discount 2
        discount = dm.getDiscounts()[1]
        self.assertEqual(discount.getId(), "d2")
        self.assertEqual(discount.Title(), "D2")
        self.assertEqual(discount.getValue(), 2.0)
        self.assertEqual(discount.getBase(), "cart_item")
        self.assertEqual(discount.getType(), "percentage")
Esempio n. 2
0
    def getDiscounts(self):
        """
        """
        shop = IShopManagement(self.context).getShop()
        dm = IDiscountsManagement(shop)
        cm = ICurrencyManagement(shop)

        result = []
        for discount in dm.getDiscounts():

            value = cm.priceToString(discount.getValue())

            result.append({
                "id":
                discount.getId(),
                "title":
                discount.Title(),
                "description":
                discount.Description(),
                "value":
                value,
                "url":
                discount.absolute_url(),
                "up_url":
                "%s/es_folder_position?position=up&id=%s" %
                (self.context.absolute_url(), discount.getId()),
                "down_url":
                "%s/es_folder_position?position=down&id=%s" %
                (self.context.absolute_url(), discount.getId()),
                "amount_of_criteria":
                self._getAmountOfCriteria(discount.getId())
            })

        return result
Esempio n. 3
0
    def getDiscount(self):
        """Returns the first valid discount or None.
        """

        # NOTE: Using the product to get the shop is due to EasyMall. The
        # product lives in the several shops and can used to get the mall and/or
        # the Shop, whereas the item lives in the all and there would be no
        # way back to the origin shop.

        shop = IShopManagement(self.context.getProduct()).getShop()
        for discount in IDiscountsManagement(shop).getDiscounts():
            if IValidity(discount).isValid(self.context) == True:
                return discount

        return None
Esempio n. 4
0
    def getDiscounts(self):
        """
        """
        shop = IShopManagement(self.context).getShop()        
        dm   = IDiscountsManagement(shop)
        cm   = ICurrencyManagement(shop)
                
        result = []
        for discount in dm.getDiscounts():
            
            value = cm.priceToString(discount.getValue())
            
            result.append({
                "id"          : discount.getId(),            
                "title"       : discount.Title(),
                "description" : discount.Description(),
                "value"       : value,
                "url"         : discount.absolute_url(),
                "up_url"      : "%s/es_folder_position?position=up&id=%s" % (self.context.absolute_url(), discount.getId()),
                "down_url"    : "%s/es_folder_position?position=down&id=%s" % (self.context.absolute_url(), discount.getId()),
                "amount_of_criteria" : self._getAmountOfCriteria(discount.getId())
            })

        return result
    def testGetDiscounts2(self):
        """
        """
        self.shop.discounts.invokeFactory("Discount", id="d1", title="D1", value="1.0")
        self.shop.discounts.invokeFactory("Discount", id="d2", title="D2", value="2.0", base="cart_item", type="percentage")
        
        dm = IDiscountsManagement(self.shop)

        # Discount 1
        discount = dm.getDiscounts()[0]        
        self.assertEqual(discount.getId(), "d1")
        self.assertEqual(discount.Title(), "D1")
        self.assertEqual(discount.getValue(), 1.0)
        # defaults
        self.assertEqual(discount.getBase(), "product")
        self.assertEqual(discount.getType(), "absolute")

        # Discount 2
        discount = dm.getDiscounts()[1]
        self.assertEqual(discount.getId(), "d2")
        self.assertEqual(discount.Title(), "D2")
        self.assertEqual(discount.getValue(), 2.0)
        self.assertEqual(discount.getBase(), "cart_item")
        self.assertEqual(discount.getType(), "percentage")
Esempio n. 6
0
 def testGetDiscounts1(self):
     """There are no discounts.
     """
     dm = IDiscountsManagement(self.shop)
     self.assertEqual(dm.getDiscounts(), [])
 def testGetDiscounts1(self):
     """There are no discounts.
     """        
     dm = IDiscountsManagement(self.shop)
     self.assertEqual(dm.getDiscounts(), [])