Пример #1
0
 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')
Пример #2
0
    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()))