예제 #1
0
def edit_airplane(request, matriculation=None):
    if matriculation is None:
        return redirect('add_airplane')
    elif request.method == 'POST':
        airplane = get_object_or_404(Airplane, matriculation=matriculation)
        form = AirplaneForm(request.POST, request.FILES, instance=airplane)
        if form.is_valid():
            form.save()
            return redirect('show_airplane', matriculation.upper())
    else:
        edit = True  # The temple know if we want to edit or to add a new airplane
        airplane = get_object_or_404(Airplane, matriculation=matriculation)
        form = AirplaneForm(request.POST or None, instance=airplane)
        return render(request, 'hangar/airplane/airplane_form.html', locals())
예제 #2
0
def add_airplane(request, matriculation=None):
    # If matriculation is set, it'll be used as a model for a new airplane
    if request.method == 'POST':
        form = AirplaneForm(request.POST, request.FILES)
        if form.is_valid():
            form.save()
            return redirect('show_airplane')
    else:
        if matriculation is None:
            form = AirplaneForm()
        else:
            airplane = get_object_or_404(Airplane, matriculation=matriculation)
            airplane.matriculation = None  # Clean the matriculation field
            form = AirplaneForm(instance=airplane)

    return render(request, 'hangar/airplane/airplane_form.html', locals())