Esempio n. 1
0
    def _submit_registered(self):
        """Submission when registered user"""
        cart_obj = Pool().get("nereid.cart")
        sale_obj = Pool().get("sale.sale")
        from trytond.modules.nereid_checkout.forms import OneStepCheckoutRegd

        form = OneStepCheckoutRegd(request.form)
        addresses = cart_obj._get_addresses()
        form.billing_address.choices.extend(addresses)
        form.shipping_address.choices.extend(addresses)
        form.payment_method.choices = [(m.id, m.name) for m in request.nereid_website.allowed_gateways]
        form.shipment_method.validators = []

        cart = cart_obj.open_cart()
        if form.validate():
            # Get billing address
            if form.billing_address.data == 0:
                # New address
                billing_address = self._create_address(form.new_billing_address.data)
            else:
                billing_address = form.billing_address.data

            # Get shipping address
            shipping_address = billing_address
            if not form.shipping_same_as_billing:
                if form.shipping_address.data == 0:
                    shipping_address = self._create_address(form.new_shipping_address.data)
                else:
                    shipping_address = form.shipping_address.data

            # Write the information to the order
            sale_obj.write(cart.sale.id, {"invoice_address": billing_address, "shipment_address": shipping_address})

        return form, form.validate()
Esempio n. 2
0
    def _begin_registered(cls):
        '''Begin checkout process for registered user.'''
        Cart = Pool().get('nereid.cart')

        cart = Cart.open_cart()
        form = OneStepCheckoutRegd(request.form)
        addresses = [(0, _('New Address'))] + Cart._get_addresses()
        form.billing_address.choices = addresses
        form.shipping_address.choices = addresses

        return render_template('checkout.jinja', form=form, cart=cart)
Esempio n. 3
0
    def _begin_registered(self):
        """Begin checkout process for registered user."""
        cart_obj = Pool().get("nereid.cart")
        from trytond.modules.nereid_checkout.forms import OneStepCheckoutRegd

        cart = cart_obj.open_cart()

        form = OneStepCheckoutRegd(request.form)
        addresses = [(0, _("New Address"))] + cart_obj._get_addresses()
        form.billing_address.choices = addresses
        form.shipping_address.choices = addresses
        form.payment_method.choices = [(m.id, m.name) for m in request.nereid_website.allowed_gateways]

        return render_template("checkout.jinja", form=form, cart=cart)
Esempio n. 4
0
    def _begin_registered(self):
        '''Begin checkout process for registered user.'''
        cart_obj = Pool().get('nereid.cart')
        from trytond.modules.nereid_checkout.forms import OneStepCheckoutRegd

        cart = cart_obj.open_cart()

        form = OneStepCheckoutRegd(request.form)
        addresses = [(0, _('New Address'))] + cart_obj._get_addresses()
        form.billing_address.choices = addresses
        form.shipping_address.choices = addresses
        form.payment_method.choices = [
            (m.id, m.name) for m in request.nereid_website.allowed_gateways
        ]

        return render_template('checkout.jinja', form=form, cart=cart)
Esempio n. 5
0
    def _submit_registered(cls):
        '''Submission when registered user'''
        Cart = Pool().get('nereid.cart')
        Sale = Pool().get('sale.sale')

        form = OneStepCheckoutRegd(request.form)
        addresses = Cart._get_addresses()
        form.billing_address.choices.extend(addresses)
        form.shipping_address.choices.extend(addresses)

        cart = Cart.open_cart()
        if form.validate():
            # Get billing address
            if form.billing_address.data == 0:
                # New address
                billing_address = cls._create_address(
                    form.new_billing_address.data
                )
            else:
                billing_address = form.billing_address.data

            # Get shipping address
            shipping_address = billing_address
            if not form.shipping_same_as_billing:
                if form.shipping_address.data == 0:
                    shipping_address = cls._create_address(
                        form.new_shipping_address.data
                    )
                else:
                    shipping_address = form.shipping_address.data

            # Write the information to the order
            Sale.write(
                [cart.sale],
                {
                    'invoice_address': billing_address,
                    'shipment_address': shipping_address,
                }
            )

        return form, form.validate()
Esempio n. 6
0
    def _submit_registered(self):
        '''Submission when registered user'''
        cart_obj = Pool().get('nereid.cart')
        sale_obj = Pool().get('sale.sale')
        from trytond.modules.nereid_checkout.forms import OneStepCheckoutRegd

        form = OneStepCheckoutRegd(request.form)
        addresses = cart_obj._get_addresses()
        form.billing_address.choices.extend(addresses)
        form.shipping_address.choices.extend(addresses)
        form.payment_method.choices = [
            (m.id, m.name) for m in request.nereid_website.allowed_gateways
        ]
        form.shipment_method.validators = []

        cart = cart_obj.open_cart()
        if form.validate():
            # Get billing address
            if form.billing_address.data == 0:
                # New address
                billing_address = self._create_address(
                    form.new_billing_address.data)
            else:
                billing_address = form.billing_address.data

            # Get shipping address
            shipping_address = billing_address
            if not form.shipping_same_as_billing:
                if form.shipping_address.data == 0:
                    shipping_address = self._create_address(
                        form.new_shipping_address.data)
                else:
                    shipping_address = form.shipping_address.data

            # Write the information to the order
            sale_obj.write(cart.sale.id, {
                'invoice_address'    : billing_address,
                'shipment_address'   : shipping_address,
                })

        return form, form.validate()