def __edit_if_post_method(request, aircraft_id: int, context): if request.method == 'POST': try: aircraft = __set_attribute_from_request_edit(request, aircraft_id) aircraft.date_updated = datetime.date.today() app_service_provider.aircraft_management_service().edit_aircraft( aircraft_id, aircraft) context['saved'] = True return context except Exception as e: context['saved'] = False raise e
def __create_aircraft_if_post_method(request, context): if request.method == 'POST': try: aircraft = __set_attribute_from_request(request) aircraft.aircraft_no = str(uuid.uuid4()).replace('-', '')[0:10].upper() aircraft.date_created = datetime.date.today() app_service_provider.aircraft_management_service( ).register_aircraft(aircraft) context['saved'] = True except Exception as e: context['saved'] = False raise e return context
def __get_aircraft_or_rise_404(aircraft_id: int): try: aircraft = app_service_provider.aircraft_management_service( ).aircraft_details(aircraft_id) return aircraft except Exception: raise Http404('Aircraft Dose Not Exit')
def register_flight(request): aircrafts = app_service_provider.aircraft_management_service( ).get_aircraft_list() context = {'title': 'Flight Registration', 'aircrafts': aircrafts} __create_flight_if_post_method(request, context) if request.method == 'POST' and context['saved']: return redirect('list_flight') return render(request, 'Flight/register_flight.html', context)
def edit_flight(request, flight_id: int): flight = __get_flight_or_rise_404(flight_id) aircrafts = app_service_provider.aircraft_management_service( ).get_aircraft_list() context = {'flight': flight, 'aircrafts': aircrafts} __edit_if_post_method(request, flight_id, context) new_flight_dto = __edit_if_post_method(request, flight_id, context) if new_flight_dto is not None: context['aircraft'] = new_flight_dto if context['saved'] is True: return redirect('list_flight') return render(request, 'Flight/edit_flight.html', context)
def aircraft_details(request, aircraft_id: int): aircraft = app_service_provider.aircraft_management_service( ).aircraft_details(aircraft_id) context = {'aircraft': aircraft, 'title': 'Aircraft Details'} return render(request, 'Aircraft/aircraft_details.html', context)
def list_aircraft(request): aircrafts = app_service_provider.aircraft_management_service( ).list_aircraft() context = {'aircrafts': aircrafts, 'title': 'Aircrafts'} return render(request, 'Aircraft/list_aircraft.html', context)
def delete_aircraft(request, aircraft_id): app_service_provider.aircraft_management_service().delete_aircraft( aircraft_id) return redirect('list_aircraft')