def index(): """ This controller shows the favourite sensations for the user. It also shows some cross selling options based on the favourites. """ # Set welcome cookie #if session.cookies_accepted: welcome_cookie(db, request) ######################################################################### ## Check favourites for the current user ######################################################################### # Retrieve 'basket' cookie if available and query number of favourites if request.cookies.has_key('basket'): cookie = request.cookies['basket'].value query = db.favourite.basket == cookie # Retrieve 'welcome' cookie if available and query number of favourites elif request.cookies.has_key('welcome'): cookie = request.cookies['welcome'].value query = db.favourite.welcome == cookie # Get user favourites from database try: query query &= db.favourite.is_favourite == True selected_fav = db(query).select(db.favourite.service_id, distinct=True) except: selected_fav = None if selected_fav: # Get favourite services data query1 = db.service.enabled == True for idx,favourite in enumerate(selected_fav): if idx == 0: query = db.service.id == favourite.service_id else: query |= db.service.id == favourite.service_id if query: services = db(query1 & query).select(orderby=~db.service.ranking | ~db.service.id) else: services = None else: services = None if services: # Determine for each service if it is a fixed price service determine_price_mode(services) for service in services: service.is_favourite = True # Get cross-selling elements x_sell_elems = get_cross_selling(services) else: x_sell_elems = None return dict(services=services, x_sell=x_sell_elems)
def index(): """ This page wellcomes the first time visitor and suggests him to enter the site. """ #if session.cookies_accepted: redir = welcome_cookie(db, request) #if redir: redirect(URL('intro')) print request.env.http_accept_language print T.accepted_language #set_ranking(db) if request.env.http_referer: print request.env.http_referer #redirect(request.env.http_referer) return dict()
def intro(): """ example action using the internationalization operator T and flash rendered by views/default/index.html or views/generic.html if you need a simple wiki simply replace the two lines below with: return auth.wiki() """ #if session.cookies_accepted: welcome_cookie(db, request) # Get number of sensations in DB sens_nr = db(db.service.enabled==True).count() # get slide presentation data presentation = db(db.carousel).select(orderby=db.carousel.slide_nr) # get main page options data #options = db(db.main_page).select(orderby=db.main_page.field_nr | db.main_page.section) # Get lifestyles data lifestyles = db(db.intro_lifestyles).select(db.intro_lifestyles.ALL, orderby=db.intro_lifestyles.field_nr) # Get number of sensations in DB for each lifestyle for lifestyle in lifestyles: query = db.service.enabled==True query &= db.service.tourism_segment_id.contains(lifestyle.tourism_segment_id[0]) lifestyle.segm_sens = db(query).count() # Get regions data regions = db(db.intro_regions).select(db.intro_regions.ALL, orderby=db.intro_regions.field_nr) # Get number of sensations in DB for each region and list of Region names to show in form region_list = [] for region in regions: if region.show_level != 'Hide': region_list.append(T(region.region_id[0].name)) query = db.service.enabled==True query &= db.service.region_id.contains(region.region_id[0]) region.reg_sens = db(query).count() # Get Be Personal data be_personal = db(db.intro_be_personal).select(db.intro_be_personal.ALL) # Build form tourism_regions = [T('All Regions')] + region_list #tourism_regions = ['All Regions'] + [region.name for region in db().select(db.region.name, orderby=db.region.name)] tourism_segments = [T('All Lifestyles')] + [T(segment.segment) for segment in db().select(db.tourism_segment.segment, orderby=db.tourism_segment.segment)] form = FORM( SELECT(*tourism_regions, _name='quick_search_regions', _class="quick-search-lifestyles cs-select cs-select-sm"), SELECT(*tourism_segments, _name='quick_search_lifestyle', _class="quick-search-regions cs-select cs-select-sm"), INPUT(_type='submit', _class='quick-search-submit btn btn-gray', _value=T('GO'), _name='quick_search'), _id="qsrch_form", ) if form.process().accepted: redirect(URL('sensations', 'index', vars=dict(lifestyle=form.vars.quick_search_lifestyle, region=form.vars.quick_search_regions))) return dict(presentation=presentation, lifestyles=lifestyles, regions=regions, be_personal=be_personal, sens_nr=sens_nr, form=form)