Esempio n. 1
0
    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
Esempio n. 2
0
    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
Esempio n. 3
0
    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