Advertisement
shadiff

jstsave

May 27th, 2023
22
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.17 KB | None | 0 0
  1. <form action="{% url 'booking_form'%}" method="post" >
  2. {% csrf_token %}
  3. <div class="form-row">
  4. <div class="col-md-12">
  5. <div class="form-group has-search">
  6. <span class="fa fa-user form-control-feedback"></span>
  7. <input type="text" id="recipientname" name="recipient_name"
  8. class="form-control my-2 p-2" placeholder="Full Name" required>
  9. </div>
  10. </div>
  11. </div>
  12.  
  13. <div class="form-row">
  14. <div class="col-md-12">
  15. <div class="form-group has-search">
  16. <span class="fa fa-address-card form-control-feedback"></span>
  17. <input type="text" id="recipientid" name="recipient_id_number"
  18. class="form-control my-2 p-2" placeholder="ID Number" required>
  19. </div>
  20. </div>
  21. </div>
  22.  
  23.  
  24. <div class="form-row">
  25. <div class="col-md-12">
  26. <div class="form-group has-search">
  27. <span class="fa fa-phone form-control-feedback"></span>
  28. <input type="text" id="phonenumber" name="recipient_phone"
  29. class="form-control my-2 p-2" placeholder="Phone Number" required>
  30. </div>
  31. </div>
  32. </div>
  33.  
  34. <div class="form-row">
  35. <div class="col-md-12">
  36. <div class="form-group has-search">
  37. <span class="fa fa-truck form-control-feedback"></span>
  38. <input type="text" id="destination-input" name="delivery_location" class="controls form-control my-2 p-2"
  39. placeholder="Destination Location" required>
  40. </div>
  41. </div>
  42. </div>
  43.  
  44. <div class="form-row">
  45. <div class="col-md-12">
  46. <div class="form-group has-search">
  47. <span class="fa fa-envelope form-control-feedback"></span>
  48. <input type="text" id="delivery_note" name="delivery_note"
  49. class="form-control my-2 p-2" placeholder="Delivery Note" required>
  50. </div>
  51. </div>
  52. </div>
  53.  
  54. <div style="overflow:auto;" class="col-md-12">
  55. <div style="float:right;">
  56. <button type="submit"
  57. class="browsebtn mt-2 mb-2">Submit</button>
  58. </div>
  59. </div>
  60.  
  61. <input type="hidden" id="origin-input" name="origin_location_name">
  62. <input type="hidden" id="origin_latlng-field" name="origin_lat_lon" value="">
  63. <input type="hidden" id="delivery_latlng-field" name="delivery_latlng" value="">
  64. <input type="hidden" id="distance-field" name="distance" value="">
  65. <input type="hidden" id="deliveryspecifics" name="description" value="goods delivery specifics">
  66. <input type="hidden" id="sendername" name="sender_name" value="posta">
  67. <input type="hidden" id="senderphone" name="sender_phone" value="0711345987">
  68. <input type="hidden" id="senderid" name="sender_id_number" value="11345987">
  69. <input type="hidden" name="order_amount" id="orderAmountInput">
  70.  
  71.  
  72. </form>
  73.  
  74. -----------------------------------------------------------------------------------------------------------------
  75. def SearchParcelsView(request):
  76. if request.method == 'POST':
  77. tracking_number = request.POST.get('tracking_number')
  78. data = {'tracking_number': tracking_number}
  79. url = "https://core.posta.co.ke:1234/search-pg-item"
  80.  
  81. post_response = requests.post(url, json=data, verify=False, auth=HTTPBasicAuth('pck_api_user', 'H6!QBWD!*dc0d%'))
  82.  
  83. post_response_json = post_response.json()
  84. allow_booking = post_response_json['allow_booking']
  85.  
  86. if allow_booking:
  87. booking_form_url = reverse('booking_form', kwargs={'tracking_number': tracking_number})
  88. return redirect(booking_form_url)
  89. else:
  90. context = {
  91. 'tracking_number': tracking_number,
  92. 'allow_booking': allow_booking,
  93. }
  94. return render(request, 'customers/services.html', context)
  95. else:
  96. return render(request, 'customers/services.html')
  97.  
  98.  
  99. def bookingFormView(request, tracking_number):
  100. if request.method == 'POST':
  101. # Retrieving the form data
  102. sender_name = request.POST.get("sender_name")
  103. sender_phone = request.POST.get("sender_phone")
  104. sender_id_number = request.POST.get("sender_id_number")
  105. recipient_name = request.POST.get("recipient_name")
  106. recipient_phone = request.POST.get("recipient_phone")
  107. recipient_id_number = request.POST.get("recipient_id_number")
  108. origin_location_name = request.POST.get("origin_location_name")
  109. delivery_location = request.POST.get("delivery_location")
  110. delivery_location_description = request.POST.get("delivery_location_description")
  111. origin_lat_lon = request.POST.get("origin_lat_lon")
  112. distance = request.POST.get("distance")
  113. delivery_note = request.POST.get("delivery_note")
  114. delivery_latlng = request.POST.get("delivery_latlng")
  115. order_amount = request.POST.get("order_amount")
  116. order_number = "W" + uuid.uuid4().hex[:6].upper()
  117.  
  118. # Processing and Saving the data
  119. order = Orders(sender_name=sender_name,
  120. sender_phone=sender_phone,
  121. sender_id_number=sender_id_number,
  122. recipient_name=recipient_name,
  123. recipient_phone=recipient_phone,
  124. recipient_id_number=recipient_id_number,
  125. origin_location_name=origin_location_name,
  126. delivery_location=delivery_location,
  127. delivery_location_description=delivery_location_description,
  128. distance=distance,
  129. origin_lat_lon=origin_lat_lon,
  130. delivery_note=delivery_note,
  131. delivery_latlng=delivery_latlng,
  132. order_amount=order_amount,
  133. order_number=order_number,
  134. amount_paid=Decimal('0.00'),
  135. status=0,
  136. package_id=3
  137. )
  138. order.save()
  139. orderItems = request.POST.getlist("amount[]")
  140. for i in orderItems:
  141. orderItem = OrderItems(product_id=2, amount=i, order=order, status=0)
  142. orderItem.save()
  143. return redirect('parcelpay', tracking_number=tracking_number)
  144.  
  145. return render(request, 'customers/services.html', {'tracking_number': tracking_number})
  146.  
  147.  
  148.  
  149. def confirmPostalView(request, tracking_number):
  150. orderItem = OrderItems.objects.get(tracking_number=tracking_number)
  151.  
  152. context = {
  153. 'orderItem': orderItem,
  154. }
  155. return render(request, 'customers/parcelpay.html', context)
  156.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement