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 _retry_form(self, agency, vehicle, card_id, known_stop, stop_name, comment, error_msg): known_stops = list(Stop.query(Stop.stop_type == vehicle, Stop.agency == agency.key).order(Stop.name)) context = dict( agency_name=agency.name, agency_id=agency.key.id(), vehicle=urllib.quote_plus(vehicle), card_id=urllib.quote_plus(str(card_id)), known_stop=known_stop, # select element stop_name=urllib.quote_plus(stop_name), comment=comment, # textarea error_msg=error_msg, known_stops=known_stops, ) self.render_to_response('agency_report.html', context)
def get(self, agency_id, vehicle): try: agency = Agency.get_by_id(int(agency_id)) if agency is None or vehicle not in VEHICLE_TYPES or vehicle not in agency.vehicle_types: return self.send_404() except: return self.send_404() # Check for known stops known_stops = list(Stop.query(Stop.stop_type == vehicle, Stop.agency == agency.key).order(Stop.name)) context = dict( agency_name=agency.name, agency_id=agency.key.id(), vehicle=vehicle, known_stops=known_stops, ) self.render_to_response('agency_report.html', context)
def post(self): if self.request.get('edit-route-entity-key'): route_key = ndb.Key( urlsafe=str(self.request.get('edit-route-entity-key'))) new_route = route_key.get() routeStops = Stop.query(ancestor=route_key).order( Stop.order_number).fetch() dictionary = {} Stop1 = self.request.get('stop1') if self.request.get('stop1-checkbox') == 'on': Checkbox1 = True else: Checkbox1 = False dictionary["Stop1"] = Stop1 dictionary["Checkbox-Stop1"] = Checkbox1 lastStop = self.request.get('stop2') Stop2 = lastStop if self.request.get('stop2-checkbox') == 'on': Checkbox2 = True else: Checkbox2 = False dictionary["Stop2"] = Stop2 dictionary["Checkbox-Stop2"] = Checkbox2 Stop3 = "" Stop4 = "" Stop5 = "" if self.request.get('stop3'): lastStop = self.request.get('stop3') Stop3 = lastStop if self.request.get('stop3-checkbox') == 'on': Checkbox3 = True else: Checkbox3 = False dictionary["Stop3"] = Stop3 dictionary["Checkbox-Stop3"] = Checkbox3 if self.request.get('stop4'): lastStop = self.request.get('stop4') Stop4 = lastStop if self.request.get('stop4-checkbox') == 'on': Checkbox4 = True else: Checkbox4 = False dictionary["Stop4"] = Stop4 dictionary["Checkbox-Stop4"] = Checkbox4 if self.request.get('stop5'): lastStop = self.request.get('stop5') Stop5 = lastStop if self.request.get('stop5-checkbox') == 'on': Checkbox5 = True else: Checkbox5 = False dictionary["Stop5"] = Stop5 dictionary["Checkbox-Stop5"] = Checkbox5 new_route.name = Stop1 + " to " + lastStop for i in range(1, (len(dictionary.keys()) / 2) + 1): if i < len(routeStops) + 1: routeStops[i - 1].ordered = dictionary["Checkbox-Stop" + str(i)] routeStops[i - 1].stop_name = dictionary["Stop" + str(i)] routeStops[i - 1].put() else: new_stop = Stop(parent=new_route.key, route_key=new_route.key, order_number=i, stop_name=dictionary["Stop" + str(i)], ordered=dictionary["Checkbox-Stop" + str(i)]) new_stop.put() new_route.put() else: firstStop = self.request.get('stop1') if self.request.get('stop1-checkbox') == 'on': firstCheckbox = True else: firstCheckbox = False lastStop = self.request.get('stop2') secondStop = lastStop if self.request.get('stop2-checkbox') == 'on': secondCheckbox = True else: secondCheckbox = False thirdStop = "" fourthStop = "" fifthStop = "" if self.request.get('stop3'): lastStop = self.request.get('stop3') thirdStop = lastStop if self.request.get('stop3-checkbox') == 'on': thirdCheckbox = True else: thirdCheckbox = False if self.request.get('stop4'): lastStop = self.request.get('stop4') fourthStop = lastStop if self.request.get('stop4-checkbox') == 'on': fourthCheckbox = True else: fourthCheckbox = False if self.request.get('stop5'): lastStop = self.request.get('stop5') fifthStop = lastStop if self.request.get('stop5-checkbox') == 'on': fifthCheckbox = True else: fifthCheckbox = False user = users.get_current_user() email = user.email().lower() # TODO: Name will change when modal has dynamic number of routes # NOTE: Created routes start with type = 0 (not saved) # NOTE: Created routes start with daily = 0 (non-recurring) new_route = Route(parent=utils.get_parent_key_for_email(email), created_by=email, name=firstStop + " to " + lastStop, type=0, daily=0, start_time=datetime.datetime.now()) new_route.put() new_stop1 = Stop(parent=new_route.key, route_key=new_route.key, order_number=1, stop_name=self.request.get('stop1'), ordered=firstCheckbox) new_stop1.put() new_stop2 = Stop(parent=new_route.key, route_key=new_route.key, order_number=2, stop_name=self.request.get('stop2'), ordered=secondCheckbox) new_stop2.put() if thirdStop != "": new_stop3 = Stop(parent=new_route.key, route_key=new_route.key, order_number=3, stop_name=self.request.get('stop3'), ordered=thirdCheckbox) new_stop3.put() if fourthStop != "": new_stop4 = Stop(parent=new_route.key, route_key=new_route.key, order_number=4, stop_name=self.request.get('stop4'), ordered=fourthCheckbox) new_stop4.put() if fifthStop != "": new_stop5 = Stop(parent=new_route.key, route_key=new_route.key, order_number=5, stop_name=self.request.get('stop5'), ordered=fifthCheckbox) new_stop5.put() self.redirect('/'.join(self.request.referer.split("/")[:3]) + "?route=" + str(new_route.key.urlsafe()))