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
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)
class Shop_AddressesBook(CompositeForm): access = 'is_authenticated' subviews = [ Shop_Progress(index=3, title=MSG(u'My address book')), Addresses_Book(), Shop_ChooseAddress() ]
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) }
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')
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
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
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
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}