def encode_line(line): if line.base_unit_price.amount.value != 0: discount_percent = ( line.discount_amount.amount.value / (line.base_unit_price.amount.value * line.quantity)) else: discount_percent = 0 return { "sku": line.sku, "text": line.text, "quantity": format_decimal(line.quantity, locale=get_current_babel_locale()), "unitPrice": format_money(line.base_unit_price.amount), "discountedUnitPrice": format_money(line.discounted_unit_price.amount), "discountAmount": format_money(line.discount_amount.amount), "discountPercent": format_percent(discount_percent, 2), "taxlessTotal": format_money(line.taxless_price.amount), "taxPercentage": format_percent(line.tax_rate, 2), "taxfulTotal": format_money(line.taxful_price.amount) }
def __str__(self): text = super(Tax, self).__str__() if self.rate is not None: text += " ({})".format(format_percent(self.rate, digits=3)) if self.amount is not None: text += " ({})".format(format_money(self.amount)) return text
def encode_line(line): if line.base_unit_price.amount.value != 0: discount_percent = ( line.discount_amount.amount.value / (line.base_unit_price.amount.value * line.quantity) ) else: discount_percent = 0 return { "sku": line.sku, "text": line.text, "quantity": format_decimal(line.quantity, locale=get_current_babel_locale()), "unitPrice": format_money(line.base_unit_price.amount), "discountedUnitPrice": format_money(line.discounted_unit_price.amount), "discountAmount": format_money(line.discount_amount.amount), "discountPercent": format_percent(discount_percent, 2), "taxlessTotal": format_money(line.taxless_price.amount), "taxPercentage": format_percent(line.tax_rate, 2), "taxfulTotal": format_money(line.taxful_price.amount) }
def get_discount_effect(self, instance): if not (instance.discount_amount_value or instance.discounted_price_value or instance.discount_percentage): return "-" effects = [] shop = get_shop(self.request) if instance.discount_amount_value: effects.append( "- %s" % format_money(shop.create_price(instance.discount_amount_value)) if shop else format_number(instance.discount_amount_value)) if instance.discounted_price_value: effects.append( format_money(shop.create_price(instance.discounted_price_value)) if shop else format_number(instance.discounted_price_value)) if instance.discount_percentage: effects.append(format_percent(instance.discount_percentage)) return ','.join(effects)
def get_discount_effect(self, instance): if not (instance.discount_amount_value or instance.discounted_price_value or instance.discount_percentage): return "-" effects = [] shop = get_shop(self.request) if instance.discount_amount_value: effects.append( "- %s" % format_money(shop.create_price(instance.discount_amount_value)) if shop else format_number(instance.discount_amount_value)) if instance.discounted_price_value: effects.append( format_money(shop.create_price(instance.discounted_price_value) ) if shop else format_number(instance.discounted_price_value)) if instance.discount_percentage: effects.append(format_percent(instance.discount_percentage)) return ','.join(effects)
def _format_rate(tax_rule): if tax_rule.rate is None: return "" return format_percent(tax_rule.rate, digits=3)
def percent(value, ndigits=0): return format_percent(value, ndigits)