Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from django.shortcuts import render
- from django.http import HttpResponse, HttpResponseNotFound
- from customers.models import Packages, OrderItems, PostOffices
- from .utils import Util as CusUtil
- from django.http import JsonResponse
- def HomeView(request):
- try:
- instant_packages = Packages.objects.filter(name='')
- packages = Packages.objects.all()
- context = {
- "instant_packages": instant_packages,
- 'packages': packages,
- }
- return render(request, "customers/home.html")
- except:
- return HttpResponseNotFound("<h1>This page is not found.</h1>")
- def get_packages(request):
- data = CusUtil.getPackages()
- return JsonResponse(data, safe=False)
- def event_logs(request):
- trackingnumber = request.GET.get('trackingnumber')
- data = CusUtil.getEventLog(trackingnumber)
- data = data['Result'][:4]
- return JsonResponse(data, safe=False)
- def process_booking(request, **kwargs):
- packages = Packages.objects.all()
- trackingnumber = request.GET.get('trackingnumber')
- latitude = request.GET.get('latitude')
- longitude = request.GET.get('longitude')
- postoffice = request.GET.get('postoffice')
- handlingfee = request.GET.get('handlingfee')
- template_name = 'customers/home.html'
- location = f"{latitude},{longitude}"
- context = {
- "trackingnumber": trackingnumber,
- "latitude": latitude,
- "longitude": longitude,
- "postoffice": postoffice,
- 'packages': packages,
- "location": location,
- "handling_fee": handlingfee
- }
- return render(request, template_name, context)
- def search_item(request):
- tracking_number = request.GET.get('trackingnumber')
- print(tracking_number , "Tracking Number")
- document_type = request.GET.get('document_type')
- try:
- order = OrderItems.objects.get(tracking_number=tracking_number )
- try:
- paid = OrderItems.amount.paid
- if paid:
- data = {
- "status": 204,
- "message": "Payments for this order is already processed"
- }
- return JsonResponse(data)
- #print('Order exists and but not paid')
- except:
- # redirect to payments Page
- #print("Order Exists Redirecting to Payments Page")
- #trackingno
- data = {
- "tracking_number": tracking_number ,
- "status": 205
- }
- return JsonResponse(data)
- except OrderItems.DoesNotExist:
- pass
- #TODO Searching data on PG
- #ItemCode = 'RB016793308SG'
- if document_type.lower() == "pg":
- data = CusUtil.searchPG(tracking_number)
- try:
- cutoms_status = data['customs']
- except KeyError:
- data = data
- return JsonResponse(data)
- if cutoms_status == 0:
- handling_fee = 100
- else:
- handling_fee = 175
- # get branch from data
- try:
- branch = data['branch']
- print(branch)
- #print(branch)
- #get latitude and Longitude
- postoffice = PostOffices.objects.get(postal_name=branch)
- lat, lng = postoffice.latitude, postoffice.longitude
- postal_code = postoffice.postal_code
- data = {
- "status": data['status'],
- "message": "Success",
- "trackingno": tracking_number,
- "postal_code": postal_code,
- "latitude": lat,
- "longitude": lng,
- "postoffice": branch,
- "handling_fee": handling_fee
- }
- except KeyError:
- data = {
- "status": 404,
- "message": "Item with that tracking Number don't exist"
- }
- return JsonResponse(data)
- -------------------------------------------------------------------------------------------------------------------------------
- def get_packages(request):
- data = CusUtil.getPackages()
- return JsonResponse(data, safe=False)
- def event_logs(request):
- trackingnumber = request.GET.get('trackingnumber')
- data = CusUtil.getEventLog(trackingnumber)
- data = data['Result'][:4]
- return JsonResponse(data, safe=False)
- def process_booking(request, **kwargs):
- packages = Packages.objects.all()
- trackingnumber = request.GET.get('trackingnumber')
- latitude = request.GET.get('latitude')
- longitude = request.GET.get('longitude')
- postoffice = request.GET.get('postoffice')
- handlingfee = request.GET.get('handlingfee')
- template_name = 'customers/home.html'
- location = f"{latitude},{longitude}"
- context = {
- "trackingnumber": trackingnumber,
- "latitude": latitude,
- "longitude": longitude,
- "postoffice": postoffice,
- 'packages': packages,
- "location": location,
- "handling_fee": handlingfee
- }
- return render(request, template_name, context)
- def search_item(request):
- tracking_number = request.GET.get('trackingnumber')
- print(tracking_number , "Tracking Number")
- document_type = request.GET.get('document_type')
- try:
- order = OrderItems.objects.get(tracking_number=tracking_number )
- try:
- paid = OrderItems.amount.paid
- if paid:
- data = {
- "status": 204,
- "message": "Payments for this order is already processed"
- }
- return JsonResponse(data)
- #print('Order exists and but not paid')
- except:
- # redirect to payments Page
- #print("Order Exists Redirecting to Payments Page")
- #trackingno
- data = {
- "tracking_number": tracking_number ,
- "status": 205
- }
- return JsonResponse(data)
- except OrderItems.DoesNotExist:
- pass
- #TODO Searching data on PG
- #ItemCode = 'RB016793308SG'
- if document_type.lower() == "pg":
- data = CusUtil.searchPG(tracking_number)
- try:
- cutoms_status = data['customs']
- except KeyError:
- data = data
- return JsonResponse(data)
- if cutoms_status == 0:
- handling_fee = 100
- else:
- handling_fee = 175
- # get branch from data
- try:
- branch = data['branch']
- print(branch)
- #print(branch)
- #get latitude and Longitude
- postoffice = PostOffices.objects.get(postal_name=branch)
- lat, lng = postoffice.latitude, postoffice.longitude
- postal_code = postoffice.postal_code
- data = {
- "status": data['status'],
- "message": "Success",
- "trackingno": tracking_number,
- "postal_code": postal_code,
- "latitude": lat,
- "longitude": lng,
- "postoffice": branch,
- "handling_fee": handling_fee
- }
- except KeyError:
- data = {
- "status": 404,
- "message": "Item with that tracking Number don't exist"
- }
- return JsonResponse(data)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement