Example #1
0
    def post(self):
        self.redirect('/')
        city = self.request.get('city')
        street = self.request.get('street')
        streetNum = self.request.get('streetNum')
        dateDD = self.request.get('dateDD')
        dateMM = self.request.get('dateMM')
        dateYYYY = self.request.get('dateYYYY')
        dateDDto = self.request.get('dateDDto')
        dateMMto = self.request.get('dateMMto')
        dateYYYYto = self.request.get('dateYYYYto')
        time = self.request.get('time')
		
        
			
        if dateDD == "DD":
            dateDD = None

        if dateMM == "MM":
            dateMM = None

        if dateDDto == "DD":
            dateDD = None

        if dateMMto == "MM":
            dateMMto = None

        if not dateDD and dateMM and dateYYYY:
            self.error(403)
            self.response.write('Wrong date submitted')
            return

        if dateYYYY < "2015":
            self.error(403)
            self.response.write('Wrong year submitted. It must be ')
            return

        qry = Ride.query() # Retrieve all Account entitites for manipolation

        #--- check if the fields was assind, fillters by them. ---#

        if city:
            qry = qry.filter(Ride.city == city)

        if street:
            qry = qry.filter(Ride.street == street)

        if streetNum:
            qry = qry.filter(Ride.streetNum == streetNum)

        if dateDD and dateMM and dateYYYY:
            qry = qry.filter(Ride.dateDD >= dateDD and Ride.dateMM >= dateMM and Ride.dateYYYY >= dateYYYY)

        if dateDDto and dateMMto and dateYYYYto:
            qry = qry.filter(Ride.dateDD < dateDDto and Ride.dateMM < dateMMto and Ride.dateYYYY < dateYYYYto)

        user = None
        output = ""
        for ride in qry:
            user = User.qury(User.email == ride.email)
            output += "<tr><td>" + user.firstName + " " + user.lastName + "</td>"
            output += "<td>" + user.phone + "</td>"
            output += "<td>" + ride.city + "</td>"
            output += "<td>" + ride.street + " " + ride.streetNum + "</td>"
            output += "<td>" + ride.dateDD + "/" + ride.dateMM + "/" + ride.dateYYYY + "</td>"
            output += "<td>" + ride.time + "</td></tr>"

        self.response.write(json.dumps({'status':'OK'}))
Example #2
0
    def get(self):
        city = self.request.get('city')
        street = self.request.get('street')
        streetNum = self.request.get('streetNum')
        dateDD = self.request.get('dateDD')
        dateMM = self.request.get('dateMM')
        dateYYYY = self.request.get('dateYYYY')
        dateDDto = self.request.get('dateDDto')
        dateMMto = self.request.get('dateMMto')
        dateYYYYto = self.request.get('dateYYYYto')
        time = self.request.get('time')
        basis = self.request.get('basis')
        sun = self.request.get('sun')
        mon = self.request.get('mon')
        tues = self.request.get('tues')
        wednes = self.request.get('wednes')
        thurs = self.request.get('thurs')
        fri = self.request.get('fri')
        satur = self.request.get('satur')
		
        q = Ride.query() # Retrieve all Account entitites for manipolation

        #--- check if the fields was assind, fillters by them. ---#
		
		#if user:
         #   self.error(402)
          #  self.response.write('hhhh')
           # return
		
        #--- parse strings to ints ---#
		
     
        if city != 'Search by City':
            if city == 'My City':
                user1 = None
                if self.request.cookies.get('our_token'):    #the cookie that should contain the access token!
                    user1 = User.checkToken(self.request.cookies.get('our_token'))
                    q = q.filter(Ride.city == user1.homeCity)
                else:
                    self.redirect('/')
            else:
                q = q.filter(Ride.city == city)
					
        if street != "":
            q = q.filter(Ride.street == street)
		

        if streetNum != "":
            q = q.filter(Ride.streetNum == streetNum)
			
	   
	   
       
			
        if basis == 'byDate':
            if dateDD or dateMM or dateYYYY or dateDDto or dateMMto or dateYYYYto:

                if dateDD != 'DD':
                    dateDD = int(dateDD)
#                q = q.filter(ndb.OR(Ride.dateDD >= dateDD, Ride.dateDD == None))
                else:
                    dateDD = 1
     
                if dateMM != 'MM':
                    dateMM = int(dateMM)
#                q = q.filter(ndb.OR(Ride.dateMM >= dateMM, Ride.dateMM == None))
                else:
                    dateMM = 1

                if dateMMto != 'MM':
                    dateMMto = int(dateMMto)
#                q = q.filter(ndb.OR(Ride.dateMM < dateMMto, Ride.dateMM == None))
                else:
                    dateMMto = 12
            
                if dateYYYY != 'YY':
                    dateYYYY = int(dateYYYY)
#                q = q.filter(ndb.OR(Ride.dateYYYY >= dateYYYY, Ride.dateYYYY == None))
                else:
                    dateYYYY = 2014
			
			
                if dateYYYYto != 'YY':
                    dateYYYYto = int(dateYYYYto)
#                q = q.filter(ndb.OR(Ride.dateYYYY < dateYYYYto, Ride.dateYYYY == None))
                else:
                    dateYYYYto = 2030

                if dateDDto != 'DD':
                    dateDDto = int(dateDDto)
#                q = q.filter(ndb.OR(Ride.dateDD < dateDDto, Ride.dateDD == None))
                else:
                    dateDDto = int(Ride.maxDays(dateMMto, dateYYYYto))

            q = q.filter(ndb.OR(Ride.date >= datetime.date(dateYYYY, dateMM, dateDD), Ride.dateYYYY == None, Ride.dateMM == None, Ride.dateDD == None))
            q = q.filter(ndb.OR(Ride.date <= datetime.date(dateYYYYto, dateMMto, dateDDto), Ride.dateYYYY == None, Ride.dateMM == None, Ride.dateDD == None))

        if basis == 'byWeekDays':
            weekDays = []
            if sun == 'true':
                weekDays.append('sun')

            if mon == 'true':
                weekDays.append('mon')

            if tues == 'true':
                weekDays.append('tues')

            if wednes == 'true':
                weekDays.append('wednes')

            if thurs == 'true':
                weekDays.append('thurs')

            if fri == 'true':
                weekDays.append('fri')

            if satur == 'true':
                weekDays.append('satur')

            if sun == 'true' or mon == 'true' or tues == 'true' or wednes == 'true' or thurs == 'true' or fri == 'true' or satur == 'true':
                q = q.filter(Ride.weeklyDays.IN(weekDays))

        if q == None:
            self.response.write(json.dumps(""))
            return

        user = None
        dateDay = ""
        output = []
        for ride in q:
            user = User.query(User.rideKeys == ride.key)
            user = user.get()
            if ride.dateDD and ride.dateMM and ride.dateYYYY:
                dateDay = str(ride.dateDD) + "/" + str(ride.dateMM) + "/" + str(ride.dateYYYY) + ", "# + ride.weeklyDays[0] + "day"
            if len(ride.weeklyDays) > 0:
                for day in ride.weeklyDays:
                    if day == ride.weeklyDays[len(ride.weeklyDays) -1]:
                        dateDay += day + "day"
                        continue
                    dateDay += day + "day, "
            #output.append([user.firstName + " " + user.lastName, user.phone, ride.city, ride.street + " " + ride.streetNum, str(ride.dateDD) + "/" + str(ride.dateMM) + "/" + str(ride.dateYYYY), ride.time])
            output.append([user.firstName + " " + user.lastName, user.phone, ride.city , ride.street + " " +  ride.streetNum , str(dateDay), ride.time])
            dateDay = ""
        
        self.response.write(json.dumps(output))
Example #3
0
      def get(self):
        city = self.request.get('city')
        street = self.request.get('street')
        streetNum = self.request.get('streetNum')
        dateDD = self.request.get('dateDD')
        dateMM = self.request.get('dateMM')
        dateYYYY = self.request.get('dateYYYY')
        time = self.request.get('time')
        basis = self.request.get('basis')
        sun = self.request.get('sun')
        mon = self.request.get('mon')
        tues = self.request.get('tues')
        wednes = self.request.get('wednes')
        thurs = self.request.get('thurs')
        fri = self.request.get('fri')
        satur = self.request.get('satur')
 
        if city != 'Driving To My City' and (street == "" or streetNum == ""):
            self.error(403)
            self.response.write('Please Fill street and streetNum')
            return
			
        if basis != 'once' and basis != 'weekly':
            self.error(403)
            self.response.write('Please choose basis by the radio box.')
            return

        if basis == 'once':
            if dateDD == 'DD' or dateMM == 'MM' or dateYYYY == 'Select A Year':
                self.error(403)
                self.response.write('Please insert full date')
                return

        if basis == 'weekly':
            if sun == 'false' and mon == 'false' and tues == 'false' and wednes == 'false' and thurs == 'false' and fri == 'false' and satur == 'false':
                self.error(403)
                self.response.write('Please select at least one day.')
                return

        if time == 'Select A Time':
            self.error(403)
            self.response.write('Please insert a time')
            return

        user = None
        if self.request.cookies.get('our_token'):    #the cookie that should contain the access token!
            user = User.checkToken(self.request.cookies.get('our_token'))
        else:
            self.redirect('/')
	
        newRide = Ride()
        if city == 'Driving To My City':
            newRide.city = user.homeCity
            newRide.street = user.homeStreet
            newRide.streetNum = user.homeStreetNum
        else:
            newRide.city = city
            newRide.street = street
            newRide.streetNum = streetNum
			
        if basis == 'once':
            newRide.dateDD = int(dateDD)
            newRide.dateMM = int(dateMM)
            newRide.dateYYYY = int(dateYYYY)
#            self.error(403)
#            self.response.write(newRide.dateMM)
#            return
            date = datetime.date(int(dateYYYY), int(dateMM), int(dateDD))
            newRide.date = date
            weekDay = ['mon', 'tues', 'wednes', 'thurs', 'fri', 'satur', 'sun']
            newRide.weeklyDays.append(weekDay[date.weekday()])

        if basis == 'weekly':
            if sun == 'true':
                newRide.weeklyDays.append('sun')

            if mon == 'true':
                newRide.weeklyDays.append('mon')

            if tues == 'true':
                newRide.weeklyDays.append('tues')

            if wednes == 'true':
                newRide.weeklyDays.append('wednes')

            if thurs == 'true':
                newRide.weeklyDays.append('thurs')

            if fri == 'true':
                newRide.weeklyDays.append('fri')

            if satur == 'true':
                newRide.weeklyDays.append('satur')

        newRide.time = time
        rideKey = newRide.put()
        user.rideKeys.append(rideKey)
        user.put()
        self.response.write(json.dumps({'status':'OK'}))