def calculate_price(request, id): """Calculates the price of the product on base of choosen properties after a customer has selected a property on product view. """ product = Product.objects.get(pk=id) property_price = _calculate_property_price(request) if product.for_sale: for_sale_standard_price = product.get_standard_price(request, with_properties=False) for_sale_standard_price += property_price for_sale_price = product.get_for_sale_price(request, with_properties=False) for_sale_price += property_price else: for_sale_standard_price = 0 for_sale_price = 0 price = product.get_price(request, with_properties=False) price += property_price result = simplejson.dumps({ "price": muecke_tags.currency(price, request), "for-sale-standard-price": muecke_tags.currency(for_sale_standard_price), "for-sale-price": muecke_tags.currency(for_sale_price), "packing-result": calculate_packing(request, id, as_string=True), "message": _("Price has been changed according to your selection."), }, cls=LazyEncoder) return HttpResponse(result)
def test_currency(self): """ """ locale.setlocale(locale.LC_ALL, 'en_US.UTF-8') self.assertEqual(currency(0.0), "$0.00") self.assertEqual(currency(1.0), "$1.00") shop = muecke.core.utils.get_default_shop() shop.use_international_currency_code = True shop.save() self.assertEqual(currency(0.0, None, False), "USD 0.00") self.assertEqual(currency(1.0, None, False), "USD 1.00")