403Webshell
Server IP : 103.234.187.230  /  Your IP : 216.73.216.216
Web Server : Apache
System : Linux lserver42043-ind.megavelocity.net 3.10.0-1160.108.1.el7.x86_64 #1 SMP Thu Jan 25 16:17:31 UTC 2024 x86_64
User : apache ( 48)
PHP Version : 7.4.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /var/www/html/api.hellogtx.com/apihellogtx/flightinventory/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/html/api.hellogtx.com/apihellogtx/flightinventory//views_____________________.py
from django.shortcuts import render
import requests
import json
from datetime import date
from django.http import Http404
from rest_framework.views import APIView
from rest_framework import generics
from rest_framework.response import Response
from rest_framework.status import (
    HTTP_400_BAD_REQUEST,
    HTTP_404_NOT_FOUND,
    HTTP_200_OK,
    HTTP_500_INTERNAL_SERVER_ERROR
)
from flightinventory.filters import AirLinePriceFilter, AirLineInventoryFilter
from django_filters.rest_framework import DjangoFilterBackend
from flightinventory.serializers import FlightInventorySerializer, AirLineInventorySerializer, AirLinePriceSerializer, IsDeleteFlightInventorySerializer
from django.core.exceptions import ObjectDoesNotExist
from flightinventory.models import FlightInventory, AirLineInventory, AirLinePrice


class FlightInventoryRequest(APIView):

    def get(self, request, format=None):
        try:
            data = FlightInventory.objects.all().order_by('-id')
            serializer = FlightInventorySerializer(data, many=True)
            return Response(serializer.data, status=HTTP_200_OK)
        except ObjectDoesNotExist as e:
            return Response({'error': str(e), "status": False}, status=HTTP_404_NOT_FOUND)
        except Exception as e:
            return Response({'error': str(e), "status": False}, status=HTTP_500_INTERNAL_SERVER_ERROR)

    def post(self, request):
        serializer = FlightInventorySerializer(data=request.data)
        if serializer.is_valid():
            serializer.save()
            return Response(serializer.data, status=HTTP_200_OK)
        return Response(serializer.errors, status=HTTP_400_BAD_REQUEST)


class UpdateFlightInventory(APIView):

    def get_object(self, pk):
        try:
            return FlightInventory.objects.get(pk=pk)
        except FlightInventory.DoesNotExist:
            raise Http404

    def put(self, request, pk, format=None):
        FlightInventory = self.get_object(pk)
        serializer = FlightInventorySerializer(FlightInventory, data=request.data)
        if serializer.is_valid():
            serializer.save()
            return Response(serializer.data, status=HTTP_200_OK)
        return Response(serializer.errors, status=HTTP_400_BAD_REQUEST)


class GetFlightInventory(APIView):

    def get(self, request, pk, format=None):
        try:
            data = FlightInventory.objects.get(pk=pk)
            serializer = FlightInventorySerializer(data, many=False)
            return Response(serializer.data, status=HTTP_200_OK)
        except ObjectDoesNotExist as e:
            return Response({'error': str(e), "status": False}, status=HTTP_404_NOT_FOUND)
        except Exception as e:
            return Response({'error': str(e), "status": False}, status=HTTP_500_INTERNAL_SERVER_ERROR)


class GetCustomerFlightInventory(APIView):

    def get(self, request, **kwargs):
        try:
            fromAirportCode = kwargs['fromAirportCode']
            toAirportCode = kwargs['toAirportCode']
            travelDate = kwargs['travelDate']
            print(toAirportCode)
            print(travelDate)
            print(fromAirportCode)
            data = FlightInventory.objects.all().order_by('-id')
            serializer = FlightInventorySerializer(data, many=True)
            return Response(serializer.data, status=HTTP_200_OK)
        except ObjectDoesNotExist as e:
            return Response({'error': str(e), "status": False}, status=HTTP_404_NOT_FOUND)
        except Exception as e:
            return Response({'error': str(e), "status": False}, status=HTTP_500_INTERNAL_SERVER_ERROR)



'''hjgsdhjsdgfgsdfshd'''


class FlightInventoriesApiView(generics.ListCreateAPIView):
    queryset = FlightInventory.objects.all()
    serializer_class = FlightInventorySerializer
    #filter_backends = (DjangoFilterBackend,)
    #filter_classes = (AirLinePriceFilter, AirLineInventoryFilter,)

    def get_queryset(self):
        security_key = self.request.query_params.get('SecurityKey', None)
        flight_type = self.request.query_params.get('FlightType', None)
        if security_key is not None:
            if flight_type is not None:
                oneway_from_airport_code = self.request.query_params.get('OFAC', None)
                oneway_to_airport_code = self.request.query_params.get('OTAC', None)
                round_from_airport_code = self.request.query_params.get('RFAC', None)
                round_to_airport_code = self.request.query_params.get('RTAC', None)
                today = date.today()
                if flight_type == '1':
                    if oneway_from_airport_code is not None and oneway_to_airport_code is not None:
                        '''filter_qs = self.queryset.filter(airlineprices__FromDate__gte=today, SecurityKey=security_key,
                                         FlightType=flight_type, OnwardFromAirportCode=oneway_from_airport_code,
                                         OnwardToAirportCode=oneway_to_airport_code)'''
                        filter_qs = FlightInventory.objects.raw(" SELECT * FROM flightinventory_flightinventory as T1"
                                                                  " LEFT JOIN flightinventory_airlineinventory as T2 ON"
                                                                  " T1.id = T2.FlightInventory_id"
                                                                  " LEFT JOIN flightinventory_airlineprice as T3 ON"
                                                                  " T1.id = T3.FlightInventory_id"
                                                                  " WHERE T3.FromDate >= '"+str(today)+"' AND T1.FlightType='"+flight_type+"'"
                                                                  " AND OnwardFromAirportCode='"+oneway_from_airport_code+"' AND OnwardToAirportCode='"+oneway_to_airport_code+"'"
                                                                  " GROUP BY T1.id")
                        return filter_qs
                    else:
                        return self.queryset.filter(airlineprices__FromDate__gte=today, SecurityKey=security_key,
                                                    FlightType=flight_type)
                elif flight_type == '2':
                    if oneway_from_airport_code is not None and oneway_to_airport_code is not None \
                            and round_from_airport_code is not None and round_to_airport_code is not None:
                        query_result = self.queryset.filter(airlineprices__FromDate__gte=today,
                                        # airlineprices__FromDate=today,
                                         SecurityKey=security_key,
                                         FlightType=flight_type,
                                         OnwardFromAirportCode=oneway_from_airport_code,
                                         OnwardToAirportCode=oneway_to_airport_code,
                                         InwardFromAirportCode=round_from_airport_code,
                                         InwardToAirportCode=round_to_airport_code)
                        return query_result
                    else:
                        return self.queryset.filter(airlineprices__FromDate__gte=today, SecurityKey=security_key,
                                         FlightType=flight_type)
            else:
                return self.queryset.filter(SecurityKey=security_key,IsMarkForDelete=False)
        return []


class FlightInventoryApiView(generics.RetrieveUpdateDestroyAPIView):
    queryset = FlightInventory.objects.all()
    serializer_class = FlightInventorySerializer


class CheckFlightInventoryApiView(generics.RetrieveUpdateAPIView):
    queryset = AirLinePrice.objects.all()
    serializer_class = AirLinePriceSerializer


class DeleteFlightInventoryApiView(generics.UpdateAPIView):
    queryset = FlightInventory.objects.all()
    serializer_class = IsDeleteFlightInventorySerializer

Youez - 2016 - github.com/yon3zu
LinuXploit