def update_values(self, values): values["user_email"] = users.get_current_user().email().lower() url_route_key = self.request.get('route') if url_route_key != "": route_key = ndb.Key(urlsafe=url_route_key) # Next two lines are so that the recent routes list populates correctly. route = route_key.get() route.put() stops_query = Stop.query(ancestor=route_key).order( Stop.order_number).fetch() stop1 = stops_query[0] values["stop1"] = stop1.stop_name if stop1.ordered: values["stop1_checkbox"] = "on" else: values["stop1_checkbox"] = "off" if (len(stops_query) > 1): stop2 = stops_query[1] values["stop2"] = stop2.stop_name if stop2.ordered: values["stop2_checkbox"] = "on" else: values["stop2_checkbox"] = "off" if (len(stops_query) > 2): stop3 = stops_query[2] values["stop3"] = stop3.stop_name if stop3.ordered: values["stop3_checkbox"] = "on" else: values["stop3_checkbox"] = "off" if (len(stops_query) > 3): stop4 = stops_query[3] values["stop4"] = stop4.stop_name if stop4.ordered: values["stop4_checkbox"] = "on" else: values["stop4_checkbox"] = "off" if (len(stops_query) > 4): stop5 = stops_query[4] values["stop5"] = stop5.stop_name if stop5.ordered: values["stop5_checkbox"] = "on" else: values["stop5_checkbox"] = "off" values["entity_key"] = url_route_key else: route_key = "" recent_routes_query = Route.query( ancestor=utils.get_parent_key_for_email(users.get_current_user( ).email())).order(-Route.last_touch_date_time) values["recent_routes"] = recent_routes_query.fetch(5) my_routes_query = Route.query(ancestor=utils.get_parent_key_for_email( users.get_current_user().email())).filter(Route.type == 1).order( Route.name) values["my_routes"] = my_routes_query.fetch() my_notifications_query = Notification.query( ancestor=utils.get_parent_key_for_email(users.get_current_user( ).email())).filter(Notification.type != 2) values["my_notifications"] = my_notifications_query.fetch()
def remove_page_route(page_key): """ Remove a page from the routing system. """ # print 'router (remove_page_route) - DELETING ROUTE' r = Route.query(Route.page_key == page_key).get() r.key.delete()
def route_exists(url): """ Return whether a route exists or not. """ # print 'check route existence' a = Route.query(Route.all_lurls == url).get() # print 'route:' # print a return a is not None
def load_page_by_key(key_us): """ Load a page object starting from a key urlsafe string. """ # print 'load page by key' key = ndb.Key(urlsafe=key_us) r = Route.query(Route.page_key == key).get() or abort(404) p = Template(r.template_id).load_page(r.page_key) return p
def weak_load_page_by_url(url): """ Load a page object starting from an url string. """ # print 'load page by url' r = Route.query(Route.all_lurls == url).get() # print r.key.urlsafe() if r is None: return r p = Template(r.template_id).load_page(r.page_key) return p
def weak_load_page_by_key(key_us): """ Load a page object starting from a key urlsafe string. Return None if page not found. """ # print 'weak load page by key' key = ndb.Key(urlsafe=key_us) r = Route.query(Route.page_key == key).get() if r is None: return r return Template(r.template_id).load_page(r.page_key)
def update_page_route(page): """ Add or update the page to the routing system. """ print '[ROUTER] update_page_route' r = Route.query(Route.page_key == page.key).get() or Route() r.searchable_page_names = [] r.all_lurls = page.get_all_lurls().values() r.page_key = page.key r.template_id = page.p_template_id r.root_page = page.parent_section is None for lang in page.get_languages(): r.set_page_name(page.get_name(lang), lang) r.set_page_url(page.get_url(lang), lang) r.put()
def get_root_routes(): """ All root pages: pages that do not belong to any section. """ return Route.query(Route.root_page == True).fetch()