def __create_if_post_method(context, request): if request.method == "POST": try: aircraft = __get_aircraft_dto_from_request(request) api_service_container.aircraft_management_service().create( aircraft) context["saved"] = True except Exception as e: print(e) context["saved"] = False
def __edit_if_post_method(context, aircraft_id: id, request): if request.method == "POST": try: aircraft = __get_edit_flight_dto_from_request(aircraft_id, request) api_service_container.aircraft_management_service().edit( aircraft_id, aircraft) context["saved"] = True return __get_aircraft_details_dto_or_rise_404(aircraft_id) except Exception as e: print(e) context["saved"] = False
def __get_aircraft_details_dto_or_rise_404(aircraft_id) -> AircraftDetailsDto: try: aircraft = api_service_container.aircraft_management_service().get( aircraft_id=aircraft_id) except Aircraft.DoesNotExist: raise Http404('Aircraft dose not exit') return aircraft
def create(request): aircraft = api_service_container.aircraft_management_service( ).get_all_for_select_list() context = {"aircraft": aircraft} __create_if_post_method(context, request) if request.method == "POST" and context["saved"]: return redirect("index") return render(request, "api/Flight/create.html", context)
def edit(request, flight_id): flight_details_dto = __get_flight_details_dto_or_raise_404(flight_id) aircraft = api_service_container.aircraft_management_service( ).get_all_for_select_list() context = { "title": f"Edit Flight {flight_details_dto.flight_number}", "flight_id": flight_id, "flight": flight_details_dto, "take_off_time": flight_details_dto.take_off_time.strftime("%Y-%m-%d %H:%M:%S"), "aircraft": aircraft } new_flight_details_dto = __edit_if_post_method(context, flight_id, request) if new_flight_details_dto is not None: context["flight"] = new_flight_details_dto return render(request, "api/Flight/edit.html", context)
def delete_aircraft(request, aircraft_id: int): try: api_service_container.aircraft_management_service().delete(aircraft_id) return redirect('index_aircraft') except Exception: raise Http404('aircraft dose not exit')
def index_aircraft(request): aircrafts = api_service_container.aircraft_management_service().list() context = {"title": "Aircraft", "aircrafts": aircrafts} return render(request, 'api/Aircraft/indexAircraft.html', context)