示例#1
0
 def get_namespace(self, resource, context):
     abspath = resource.get_abspath()
     cart = ProductCart(context)
     # Base namespace
     namespace = STLForm.get_namespace(self, resource, context)
     # Choose payments
     payments = resource.get_resource('payments')
     total_price = cart.get_total_price(resource)
     view = Payments_ChoosePayment(total_price=total_price)
     namespace['choose_payment'] = view.GET(payments, context)
     # Alert MSG
     namespace['alert_msg'] = MSG(
         u"""To continue, you have to validate the terms of sales!""")
     # Progress bar
     namespace['progress'] = Shop_Progress(index=5).GET(resource, context)
     # Get delivery and bill address namespace
     for key in ['delivery_address', 'bill_address']:
         id = cart.addresses[key]
         if id is not None:
             namespace[key] = resource.get_user_address_namespace(id)
         else:
             namespace[key] = None
     # Get products informations
     namespace['cart'] = Cart_View(see_actions=False).GET(resource, context)
     # Get user delivery country
     addresses = resource.get_resource('addresses').handler
     delivery_address = cart.addresses['delivery_address']
     record = addresses.get_record(delivery_address)
     country = addresses.get_record_value(record, 'country')
     return namespace
示例#2
0
class Shop_RegisterProgress(CompositeForm):

    access = True

    subviews = [Shop_Progress(index=2), Shop_Register()]

    def get_schema(self, resource, context):
        return self.subviews[1].get_schema(resource, context)
示例#3
0
class Shop_AddressesBook(CompositeForm):

    access = 'is_authenticated'

    subviews = [
        Shop_Progress(index=3, title=MSG(u'My address book')),
        Addresses_Book(),
        Shop_ChooseAddress()
    ]
示例#4
0
 def get_namespace(self, resource, context):
     cart = ProductCart(context)
     cart.clean()
     cart_is_empty = cart.products == []
     if cart_is_empty:
         cart = None
     else:
         cart = Cart_View(see_actions=True).GET(resource, context)
     return {
         'cart': cart,
         'cart_is_empty': cart_is_empty,
         'progress': Shop_Progress(index=1).GET(resource, context)
     }
示例#5
0
class Shop_EditAddressProgress(RealRessource_Form, CompositeForm):

    access = 'is_authenticated'

    subviews = [
        Shop_Progress(index=3, title=MSG(u'Edit address')),
        Addresses_EditAddress()
    ]

    def get_schema(self, resource, context):
        return resource.get_schema()

    def get_real_resource(self, resource, context):
        return resource.get_resource('addresses')
示例#6
0
 def get_namespace(self, resource, context):
     ns = {}
     # Progress bar
     ns['progress'] = Shop_Progress(index=3).GET(resource, context)
     # Get cart
     cart = ProductCart(context)
     # Delivery address
     delivery_address = cart.addresses['delivery_address']
     ns['delivery_address'] = resource.get_user_address_namespace(
         delivery_address)
     # Bill
     ns['bill_address'] = None
     bill_address = cart.addresses['bill_address']
     if bill_address and bill_address != delivery_address:
         ns['bill_address'] = resource.get_user_address_namespace(
             bill_address)
     return ns
示例#7
0
    def get_namespace(self, resource, context):
        ns = {}
        cart = ProductCart(context)
        # Progress
        ns['progress'] = Shop_Progress(index=4).GET(resource, context)
        # Get user delivery country
        addresses = resource.get_resource('addresses').handler
        delivery_address = cart.addresses['delivery_address']
        record = addresses.get_record(delivery_address)
        country = addresses.get_record_value(record, 'country')

        # Guess shipping posibilities
        shippings_details = get_shippings_details(cart, context)
        shippings = resource.get_resource('shippings')
        ns['shipping'] = shippings.get_namespace_shipping_ways(
            context, country, shippings_details)
        # If no shipping
        ns['msg_if_no_shipping'] = shippings.get_property('msg_if_no_shipping')
        return ns
示例#8
0
 def get_namespace(self, resource, context):
     namespace = STLForm.get_namespace(self, resource, context)
     # Register link
     register_link = '/;register'
     if getattr(resource, 'register', None):
         register_link = './;register'
     namespace['register_link'] = register_link
     # Progress bar ?
     progress = None
     if context.resource.name == 'shop':
         # If user is in shop, it's a payment process,
         # so we have to show a progress bar
         progress = Shop_Progress(index=2).GET(resource, context)
     namespace['progress'] = progress
     # Go back here on register ?
     if getattr(resource, 'go_back_here_on_register', False) is True:
         goto = context.uri.path
         namespace['register_link'] += '?goto=%s' % goto
     return namespace
示例#9
0
 def get_namespace(self, resource, context):
     progress = Shop_Progress(index=5, title=MSG(u'Payment end'))
     return {'progress': progress.GET(resource, context), 'body': self.body}