Advertisement
shadiff

edited views

Apr 26th, 2023
23
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.31 KB | None | 0 0
  1. from django.shortcuts import render
  2. from django.http import HttpResponse, HttpResponseNotFound
  3. from customers.models import Packages, OrderItems, PostOffices
  4. from .utils import Util as CusUtil
  5. from django.http import JsonResponse
  6.  
  7.  
  8. def HomeView(request):
  9. try:
  10. instant_packages = Packages.objects.filter(name='')
  11. packages = Packages.objects.all()
  12. context = {
  13. "instant_packages": instant_packages,
  14. 'packages': packages,
  15. }
  16. return render(request, "customers/home.html")
  17. except:
  18. return HttpResponseNotFound("<h1>This page is not found.</h1>")
  19.  
  20. def get_packages(request):
  21. data = CusUtil.getPackages()
  22. return JsonResponse(data, safe=False)
  23.  
  24. def event_logs(request):
  25. trackingnumber = request.GET.get('trackingnumber')
  26. data = CusUtil.getEventLog(trackingnumber)
  27. data = data['Result'][:4]
  28.  
  29. return JsonResponse(data, safe=False)
  30.  
  31. def process_booking(request, **kwargs):
  32. packages = Packages.objects.all()
  33. trackingnumber = request.GET.get('trackingnumber')
  34. latitude = request.GET.get('latitude')
  35. longitude = request.GET.get('longitude')
  36. postoffice = request.GET.get('postoffice')
  37. handlingfee = request.GET.get('handlingfee')
  38. template_name = 'customers/home.html'
  39. location = f"{latitude},{longitude}"
  40. context = {
  41. "trackingnumber": trackingnumber,
  42. "latitude": latitude,
  43. "longitude": longitude,
  44. "postoffice": postoffice,
  45. 'packages': packages,
  46. "location": location,
  47. "handling_fee": handlingfee
  48. }
  49.  
  50. return render(request, template_name, context)
  51.  
  52. def search_item(request):
  53. tracking_number = request.GET.get('trackingnumber')
  54. print(tracking_number , "Tracking Number")
  55. document_type = request.GET.get('document_type')
  56. try:
  57. order = OrderItems.objects.get(tracking_number=tracking_number )
  58. try:
  59. paid = OrderItems.amount.paid
  60. if paid:
  61. data = {
  62. "status": 204,
  63. "message": "Payments for this order is already processed"
  64. }
  65. return JsonResponse(data)
  66. #print('Order exists and but not paid')
  67. except:
  68. # redirect to payments Page
  69. #print("Order Exists Redirecting to Payments Page")
  70. #trackingno
  71. data = {
  72. "tracking_number": tracking_number ,
  73. "status": 205
  74. }
  75. return JsonResponse(data)
  76. except OrderItems.DoesNotExist:
  77. pass
  78. #TODO Searching data on PG
  79. #ItemCode = 'RB016793308SG'
  80. if document_type.lower() == "pg":
  81.  
  82. data = CusUtil.searchPG(tracking_number)
  83. try:
  84. cutoms_status = data['customs']
  85. except KeyError:
  86. data = data
  87. return JsonResponse(data)
  88. if cutoms_status == 0:
  89. handling_fee = 100
  90. else:
  91. handling_fee = 175
  92. # get branch from data
  93. try:
  94. branch = data['branch']
  95. print(branch)
  96. #print(branch)
  97. #get latitude and Longitude
  98. postoffice = PostOffices.objects.get(postal_name=branch)
  99. lat, lng = postoffice.latitude, postoffice.longitude
  100. postal_code = postoffice.postal_code
  101.  
  102. data = {
  103. "status": data['status'],
  104. "message": "Success",
  105. "trackingno": tracking_number,
  106. "postal_code": postal_code,
  107. "latitude": lat,
  108. "longitude": lng,
  109. "postoffice": branch,
  110. "handling_fee": handling_fee
  111. }
  112. except KeyError:
  113. data = {
  114. "status": 404,
  115. "message": "Item with that tracking Number don't exist"
  116. }
  117. return JsonResponse(data)
  118. -------------------------------------------------------------------------------------------------------------------------------
  119. def get_packages(request):
  120. data = CusUtil.getPackages()
  121. return JsonResponse(data, safe=False)
  122.  
  123. def event_logs(request):
  124. trackingnumber = request.GET.get('trackingnumber')
  125. data = CusUtil.getEventLog(trackingnumber)
  126. data = data['Result'][:4]
  127.  
  128. return JsonResponse(data, safe=False)
  129.  
  130. def process_booking(request, **kwargs):
  131. packages = Packages.objects.all()
  132. trackingnumber = request.GET.get('trackingnumber')
  133. latitude = request.GET.get('latitude')
  134. longitude = request.GET.get('longitude')
  135. postoffice = request.GET.get('postoffice')
  136. handlingfee = request.GET.get('handlingfee')
  137. template_name = 'customers/home.html'
  138. location = f"{latitude},{longitude}"
  139. context = {
  140. "trackingnumber": trackingnumber,
  141. "latitude": latitude,
  142. "longitude": longitude,
  143. "postoffice": postoffice,
  144. 'packages': packages,
  145. "location": location,
  146. "handling_fee": handlingfee
  147. }
  148.  
  149. return render(request, template_name, context)
  150.  
  151. def search_item(request):
  152. tracking_number = request.GET.get('trackingnumber')
  153. print(tracking_number , "Tracking Number")
  154. document_type = request.GET.get('document_type')
  155. try:
  156. order = OrderItems.objects.get(tracking_number=tracking_number )
  157. try:
  158. paid = OrderItems.amount.paid
  159. if paid:
  160. data = {
  161. "status": 204,
  162. "message": "Payments for this order is already processed"
  163. }
  164. return JsonResponse(data)
  165. #print('Order exists and but not paid')
  166. except:
  167. # redirect to payments Page
  168. #print("Order Exists Redirecting to Payments Page")
  169. #trackingno
  170. data = {
  171. "tracking_number": tracking_number ,
  172. "status": 205
  173. }
  174. return JsonResponse(data)
  175. except OrderItems.DoesNotExist:
  176. pass
  177. #TODO Searching data on PG
  178. #ItemCode = 'RB016793308SG'
  179. if document_type.lower() == "pg":
  180.  
  181. data = CusUtil.searchPG(tracking_number)
  182. try:
  183. cutoms_status = data['customs']
  184. except KeyError:
  185. data = data
  186. return JsonResponse(data)
  187. if cutoms_status == 0:
  188. handling_fee = 100
  189. else:
  190. handling_fee = 175
  191. # get branch from data
  192. try:
  193. branch = data['branch']
  194. print(branch)
  195. #print(branch)
  196. #get latitude and Longitude
  197. postoffice = PostOffices.objects.get(postal_name=branch)
  198. lat, lng = postoffice.latitude, postoffice.longitude
  199. postal_code = postoffice.postal_code
  200.  
  201. data = {
  202. "status": data['status'],
  203. "message": "Success",
  204. "trackingno": tracking_number,
  205. "postal_code": postal_code,
  206. "latitude": lat,
  207. "longitude": lng,
  208. "postoffice": branch,
  209. "handling_fee": handling_fee
  210. }
  211. except KeyError:
  212. data = {
  213. "status": 404,
  214. "message": "Item with that tracking Number don't exist"
  215. }
  216. return JsonResponse(data)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement