Example #1
0
def route(request, id):
    app = "app"
    model = "vehicle"
    vehicle = Vehicle.objects.get(id=id)
    if request.method == 'POST':
        form = DateForm(request.POST)
        if form.is_valid():
            from_date = form.cleaned_data['from_date']
            to_date = form.cleaned_data['to_date']
            return HttpResponseRedirect('/position/{}/{}/{}'.format(vehicle.id, from_date, to_date))
    else:
        form = DateForm()
    all_positions = []
    try:
        positions = Position.objects.filter(vehicle=vehicle.id)
        latest_position = Position.objects.filter(vehicle=vehicle.id).latest("id")
        latest_position_long = latest_position.long
        latest_position_lat = latest_position.lat
        for position in positions:
            position_array = [position.lat, position.long]
            all_positions.append(position_array)
        print all_positions
    except Position.DoesNotExist:
        latest_position_long = None
        latest_position_lat = None
        positions = None
    return render(request, "route.html", {
        'name': vehicle.name,
        'positions': positions,
        'all_positions': all_positions,
        'latest_position_long': latest_position_long,
        'latest_position_lat': latest_position_lat,
        'form': form,
        'app': app,
        'model': model
    })
Example #2
0
def position_list(request, vehicle, from_date, to_date):
    """
    Retrieve Positions for selectes time frame
    """
    vehicle = Vehicle.objects.get(pk=vehicle)
    all_positions = []
    if request.method == 'POST':
        form = DateForm(request.POST)
        if form.is_valid():
            from_date = form.cleaned_data['from_date']
            to_date = form.cleaned_data['to_date']
            return HttpResponseRedirect('/position/{}/{}/{}'.format(vehicle.id, from_date, to_date))
    else:
        form = DateForm()
    try:
        positions = Position.objects.filter(vehicle=vehicle, date__range=(from_date, to_date))
        latest_position = positions.latest("id")
        latest_position_long = latest_position.long
        latest_position_lat = latest_position.lat
        print positions
        for position in positions:
            position_array = [position.lat, position.long]
            all_positions.append(position_array)
        print all_positions
    except Position.DoesNotExist:
        positions = None
        latest_position_long = None
        latest_position_lat = None
    return render(request, "route.html", {
        'form': form,
        'name': vehicle.name,
        'positions': positions,
        'all_positions': all_positions,
        'latest_position_long': latest_position_long,
        'latest_position_lat': latest_position_lat
    })