def _user_status(cls): """Add cart size and amount to the dictionary """ Cart = Pool().get('nereid.cart') cart = Cart.open_cart() rv = super(Website, cls)._user_status() if cart.sale: # Build locale based formatters currency_format = partial( numbers.format_currency, currency=cart.sale.currency.code, locale=current_locale.language.code ) rv['cart'] = { 'lines': [ line.serialize(purpose='cart') for line in cart.sale.lines ], 'empty': len(cart.sale.lines) > 0, 'total_amount': currency_format(cart.sale.total_amount), 'tax_amount': currency_format(cart.sale.tax_amount), 'untaxed_amount': currency_format(cart.sale.untaxed_amount), } rv['cart_total_amount'] = currency_format( cart.sale and cart.sale.total_amount or 0 ) rv['cart_size'] = '%s' % Cart.cart_size() return rv
def _user_status(cls): """Add cart size and amount to the dictionary """ Cart = Pool().get('nereid.cart') cart = Cart.open_cart() rv = super(Website, cls)._user_status() if cart.sale: # Build locale based formatters currency_format = partial( numbers.format_currency, currency=cart.sale.currency.code, locale=request.nereid_language.code ) number_format = partial( numbers.format_number, locale=request.nereid_language.code ) rv['cart'] = { 'lines': [{ 'product': line.product.name, 'quantity': number_format(line.quantity), 'unit': line.unit.symbol, 'unit_price': currency_format(line.unit_price), 'amount': currency_format(line.amount), 'image': line.product.image_sets[0].thumbnail.url() if line.product.image_sets else None, 'remove_url': url_for( 'nereid.cart.delete_from_cart', line=line.id ), } for line in cart.sale.lines], 'empty': len(cart.sale.lines) > 0, 'total_amount': currency_format(cart.sale.total_amount), 'tax_amount': currency_format(cart.sale.tax_amount), 'untaxed_amount': currency_format(cart.sale.untaxed_amount), } rv['cart_total_amount'] = currency_format( cart.sale and cart.sale.total_amount or 0 ) rv['cart_size'] = '%s' % Cart.cart_size() return rv
def _user_status(cls): """Add cart size and amount to the dictionary """ Cart = Pool().get('nereid.cart') cart = Cart.open_cart() rv = super(Website, cls)._user_status() if cart.sale: # Build locale based formatters currency_format = partial(numbers.format_currency, currency=cart.sale.currency.code, locale=request.nereid_language.code) number_format = partial(numbers.format_number, locale=request.nereid_language.code) rv['cart'] = { 'lines': [{ 'product': line.product.name, 'quantity': number_format(line.quantity), 'unit': line.unit.symbol, 'unit_price': currency_format(line.unit_price), 'amount': currency_format(line.amount), } for line in cart.sale.lines], 'empty': len(cart.sale.lines) > 0, 'total_amount': currency_format(cart.sale.total_amount), 'tax_amount': currency_format(cart.sale.tax_amount), 'untaxed_amount': currency_format(cart.sale.untaxed_amount), } rv['cart_total_amount'] = currency_format( cart.sale and cart.sale.total_amount or 0) rv['cart_size'] = '%s' % Cart.cart_size() return rv