def post(self): if(self.request.get('action') == 'save'): routename = self.request.get('name') routes = Route.gql("WHERE name = :1", routename).fetch(1) if len(routes) > 0: self.response.out.write('Route %s already exists.' % routename) return json_route = simplejson.loads(self.request.get('route')) logging.info('JSON route = %s', json_route) vertices = [latLng.split(',') for latLng in json_route] route = Route() route.name = routename route.put() logging.info('Inserted route with name %s and id %s', route.name, route.key()) for index in range(0, len(vertices)): vertex = Vertex() vertex.lat = float(str(vertices[index][0])) vertex.lng = float(str(vertices[index][1])) vertex.route = route vertex.put() logging.info('Inserted vertex %s, %s on route %s with id %s', vertex.lat, vertex.lng, vertex.route.name, vertex.key()) self.response.out.write('Success')
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()))