예제 #1
0
def alt_create(request):
	form = IndexForm()
	if request.method == 'POST':
		form = IndexForm(request.POST)
		if form.is_valid():
			# Create new trip first
			new_trip = Trip(where=request.POST['where'], when=request.POST.get('when'))
			new_trip.save()
			if request.user.is_authenticated():
				new_trip.author = request.user
				trip_admin = TripAdmin(new_trip, request.user)
			else:
				request.session['trip_id'] = new_trip.id 
			# Now add the why
			if request.POST.get('why'):
				new_why = Why(why=request.POST['why'], trip=new_trip)
				new_why.save()
			
			# Finish with the who
			if request.POST.get('who'):
				new_who = Who(who=request.POST['who'], trip=new_trip)
				new_who.save()
			
			# Give a nice message
			messages.success(request, 'Your trip has been created!')

			return HttpResponseRedirect('/trips/view/%d/' % new_trip.key)
	return render_to_response('trips/create.html', {
		'form': form,
	}, context_instance=RequestContext(request))
예제 #2
0
 def test_trip_is_in_the_past_with_past_trip(self):
     """
     is_in_the_past() returns True for trips whose start_date is in the past
     """
     date = timezone.now().date() - datetime.timedelta(days=1)
     future_trip = Trip(start_date=date)
     self.assertIs(future_trip.is_in_the_past(), True)
예제 #3
0
파일: views.py 프로젝트: ejegg/Tunemapper
def upload(request):
    username = request.REQUEST.get('u', '')
    pw = request.REQUEST.get('p', '')
    if (username == '' or pw == ''):
        return HttpResponse('Result:3')
    
    #Using this poor hash and fixed salt to maintain compatibility with Luis Espinosa's PHP-based server 
    hashed = hashlib.md5('trackmeuser{0}'.format(pw)).hexdigest() 
    user = None
    users = User.objects.filter(username=username, password=hashed)
    
    if (len(users) == 1):
        user = users[0]
    else:
        users = User.objects.filter(username=username)
        if (len(users) == 0):
            user = User(username=username, password=hashed)
            user.save();
        else:
            return HttpResponse(hashed)
    
    tripname = request.REQUEST.get('tn', '')
    action = request.REQUEST.get('a', '0')
    lat = request.REQUEST.get('lat', '0')
    lon = request.REQUEST.get('long', '0')
    dateoccurred = request.REQUEST.get('do', '1970-01-01 00:00:00')
    altitude = request.REQUEST.get('alt', '0')
    angle = request.REQUEST.get('ang', '0')
    speed = request.REQUEST.get('sp', '0')
    dateParsed = None
    
    try:
        dateParsed = datetime.datetime.strptime(dateoccurred, '%Y-%m-%d %H:%M:%S')
    except ValueError:
        dateParsed = datetime.datetime.now()
    if (dateParsed.year < 1970):
        return HttpResponse('Result:0')
 
    if (action == 'upload'):
        trip = None
        trips = Trip.objects.filter(name=tripname, user=user)
        if (len(trips) == 1):
            trip = trips[0]
        else:
            trip = Trip(name=tripname, user=user)
            trip.save()

        pos = Position(user = user, 
                       trip = trip,
                       latitude = float(lat),
                       longitude = float(lon),
                       altitude = float(altitude),
                       speed = float(speed),
                       angle = float(angle),
                       dateadded = datetime.datetime.now(),
                       dateoccurred = dateParsed)
        pos.save()
        
        return HttpResponse('Result:0')
예제 #4
0
 def test_trip_is_in_the_past_with_today_trip(self):
     """
     is_in_the_past() returns False for trips whose start_date is today
     or in the future
     """
     date = timezone.now().date()
     future_trip = Trip(start_date=date)
     self.assertIs(future_trip.is_in_the_past(), False)
예제 #5
0
파일: views.py 프로젝트: teffland/schussapp
def trips_add(request):
  context = {'active':'trips'}
  if request.method == 'POST':
    trip_form = TripForm(request.POST)
    if trip_form.is_valid():
      season = get_current_season()
      trip = Trip(season=season, **trip_form.cleaned_data)
      trip.save()
      return redirect('trips_view', trip_id = trip.id)
    else:
        context['add_trip_form'] = trip_form
  else:
    context['add_trip_form'] = TripForm()

  return render(request, 'trips/trips_add.html', context)
예제 #6
0
def create(request):
	form = IndexForm()
	if request.method == 'POST':
		form = IndexForm(request.POST)
		if form.is_valid():
			new_trip = Trip(where=request.POST['where'])
			new_trip.save()
			next_form = DetailsForm()
			return render_to_response('trips/details.html', {
				'form': next_form,
				'trip': new_trip,
			}, context_instance=RequestContext(request))
	return render_to_response('index/index.html', {
		'form': form,
	}, context_instance=RequestContext(request))
예제 #7
0
    def get_context_data(self, **kwargs):

        car_owner = get_object_or_404(get_user_model(),
                                      username=kwargs["username"])
        d = datetime.now()
        # GOTO if it's before noon. RETURN otherwise.
        way = d.hour <= 12 and Trip.GOTO or Trip.RETURN

        trip_params = {
            "date": d.date(),
            "car": car_owner.cars.get(),
            "way": way
        }
        try:
            # The Trip already exists
            trip = Trip.objects.get(**trip_params)
        except Trip.DoesNotExist:
            #  A new Trip instance
            trip = Trip(**trip_params)
        self.object = trip

        context = super().get_context_data(**kwargs)
        register_existing = trip.id and reverse("trips:register_existing",
                                                args=[trip.id])
        register_new = reverse("trips:register_new")
        context["processing_url"] = register_existing or register_new
        return context
예제 #8
0
 def test_get_context_data_includes_key_cancel_button_path(self):
     request = self.factory.get('/fake/')
     request.user = self.user
     view = TripCreateView()
     kwargs = {}
     view = setup_view(view, request, **kwargs)
     view.object = Trip()
     context = view.get_context_data()
     self.assertIn('cancel_button_path', context)
예제 #9
0
 def test_get_context_data_includes_key_page_title(self):
     '''
     The get_context_data includes key 'page_title'
     '''
     request = self.factory.get('/fake/')
     request.user = self.user
     view = TripCreateView()
     kwargs = {}
     view = setup_view(view, request, **kwargs)
     view.object = Trip()
     context = view.get_context_data()
     self.assertIn('page_title', context)
예제 #10
0
 def handle(self, *args, **options):
    
    locations = ["London", "Toronto", "Paris", "New York", "Auckland", 
                "Stockholm", "Dresden", "Shangai", "Dublin", "Moscow",
                "Hong Kong", "Singapore", "Victoria", "Quebec", "Madrid"];
    tid = len(Trip.objects.all())
    
    for i in range(1, 101):
        
        year = random.choice(range(2016, 2018))
        month = random.choice(range(1, 13))
        day = random.choice(range(1, 29))
        
        start_date = datetime(year, month, day)
        end_date = start_date + timedelta(weeks=1)
        
        t = Trip(name=locations[random.choice(range(0, 15))], 
                                start_date=start_date, 
                                finish_date=end_date);
        t.save();
        
예제 #11
0
    def mutate(self, info, user_api_key, name, origin):
        user = User.objects.get(api_key=user_api_key)
        trip = Trip(name=name, user=user)
        response = get_coordinates(origin)

        if len(response) > 0:
            trip.origin = response[0]['formatted_address']
            trip.origin_lat = response[0]['geometry']['location']['lat']
            trip.origin_long = response[0]['geometry']['location']['lng']
            trip.origin_abbrev = get_airport_code(trip.origin)
            trip.save()
            return CreateTrip(trip=trip)
        else:
            raise GraphQLError('Invalid location. Please try again.')
예제 #12
0
def create_trip(payload):
    session = Session()
    trip = Trip(payload=payload)
    session.add(trip)
    session.commit()
    return trip
예제 #13
0
     car_plate = None
 try:
     check_code = trip["check_code"]
 except:
     check_code = None
 #Create trip
 trip = Trip(
     status=status,
     price=price,
     start_date=start_date,
     end_date=end_date,
     start_pickup_address=start_pickup_address,
     start_pickup_location_type=start_pickup_location_type,
     start_pickup_location_latitude=start_pickup_location_latitude,
     start_pickup_location_longitude=start_pickup_location_longitude,
     end_pickup_address=end_pickup_address,
     end_pickup_location_type=end_pickup_location_type,
     end_pickup_location_latitude=end_pickup_location_latitude,
     end_pickup_location_longitude=end_pickup_location_longitude,
     passenger_first_name=passenger_first_name,
     passenger_last_name=passenger_last_name,
     driver_first_name=driver_first_name,
     driver_last_name=driver_last_name,
     driver_location_type=driver_location_type,
     driver_location_latitude=driver_location_latitude,
     driver_location_longitude=driver_location_longitude,
     car_plate=car_plate,
     check_code=check_code,
     city=city,
     country=country)
 trip.save()