Advertisement
Guest User

Untitled

a guest
Oct 12th, 2017
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.54 KB | None | 0 0
  1. class Restaurant(models.Model):
  2. user = models.OneToOneField(
  3. User,
  4. on_delete=models.CASCADE,
  5. related_name='restaurant'
  6. )
  7. name = models.CharField(max_length=500)
  8. country = models.CharField(max_length=7)
  9. city = models.CharField(max_length=7)
  10. postal_code = models.CharField(max_length=7)
  11.  
  12. class RestaurantForm(forms.ModelForm):
  13. class Meta:
  14. model = Restaurant
  15. widgets=({country: forms.HiddenInput(attrs={'id': country}),
  16. city: forms.HiddenInput(attrs={'id': locality}),
  17. postal_code: forms.HiddenInput(attrs={'id': postal_code})})
  18. fields = (
  19. "logo", "name", "cuisine", "country", "city", "postal_code",
  20. "address", "phone"
  21. )
  22.  
  23.  
  24. def restaurant_sign_up(request):
  25. user_form = UserForm()
  26. restaurant_form = RestaurantForm()
  27.  
  28. if request.user.is_authenticated():
  29. if request.method == "POST":
  30. restaurant_form = RestaurantForm(request.POST, request.FILES)
  31.  
  32. if restaurant_form.is_valid():
  33. new_restaurant = restaurant_form.save(commit=False)
  34. new_restaurant.user = request.user
  35. new_restaurant.save()
  36.  
  37. return redirect(restaurant_order)
  38. else:
  39. if request.method == "POST":
  40. user_form = MemberForm(request.POST)
  41. restaurant_form = RestaurantForm(request.POST, request.FILES)
  42.  
  43. if user_form.is_valid() and restaurant_form.is_valid():
  44. new_user = User.objects.create_user(**user_form.cleaned_data)
  45. new_restaurant = restaurant_form.save(commit=False)
  46. new_restaurant.user = new_user
  47. new_restaurant.save()
  48.  
  49. login(request, authenticate(
  50. username=user_form.cleaned_data["username"],
  51. password=user_form.cleaned_data["password"]
  52. ))
  53.  
  54. return redirect(restaurant_order)
  55.  
  56. return render(request, "restaurant/sign_up.html", {
  57. "user_form": user_form,
  58. "restaurant_form": restaurant_form
  59. })
  60.  
  61. <form method="POST" enctype="multipart/form-data">
  62. {% csrf_token %}
  63. {% if user.is_anonymous %}
  64. {% bootstrap_form user_form %}
  65. {% bootstrap_form restaurant_form %}
  66. {% else %}
  67. Hello, {{ request.user.username }}
  68. <br>Please Use This Form To Register Your Restaurant
  69. {% bootstrap_form restaurant_form %}
  70. <div id="locationField">
  71. <input id="autocomplete" placeholder="Enter your address"
  72. onFocus="geolocate()" type="text" style="height: 30px;width:100%;"></input>
  73. </div>
  74. {% endif %}
  75. <button type="submit" class="btn btn-pink pull-right">Sign Up</button>
  76. </form>
  77.  
  78.  
  79. <script>
  80. var placeSearch, autocomplete;
  81. var componentForm = {
  82. locality: 'long_name',
  83. country: 'long_name',
  84. postal_code: 'short_name'
  85. };
  86.  
  87. function initAutocomplete() {
  88. autocomplete.addListener('place_changed', fillInAddress);
  89. }
  90.  
  91. function fillInAddress() {
  92. var place = autocomplete.getPlace();
  93. for (var component in componentForm) {
  94. document.getElementById(component).value = '';
  95. document.getElementById(component).disabled = false;
  96. }
  97.  
  98. // Get each component of the address from the place details
  99. // and fill the corresponding field on the form.
  100. for (var i = 0; i < place.address_components.length; i++) {
  101. var addressType = place.address_components[i].types[0];
  102. if (componentForm[addressType]) {
  103. var val = place.address_components[i][componentForm[addressType]];
  104. document.getElementById(addressType).value = val;
  105. }
  106. }
  107. }
  108.  
  109. function geolocate() {
  110. if (navigator.geolocation) {
  111. navigator.geolocation.getCurrentPosition(function(position) {
  112. var geolocation = {
  113. lat: position.coords.latitude,
  114. lng: position.coords.longitude
  115. };
  116. var circle = new google.maps.Circle({
  117. center: geolocation,
  118. radius: position.coords.accuracy
  119. });
  120. autocomplete.setBounds(circle.getBounds());
  121. });
  122. }
  123. }
  124. </script>
  125.  
  126. class Restaurant(models.Model):
  127. user = models.OneToOneField(
  128. User,
  129. on_delete=models.CASCADE,
  130. related_name='restaurant'
  131. )
  132. name = models.CharField(max_length=500)
  133.  
  134. class Address(models.Model):
  135. restaurant=models.ForeignKey(Restaurant, related_name"restaurant")
  136. country = models.CharField(max_length=7)
  137. city = models.CharField(max_length=7)
  138. postal_code = models.CharField(max_length=7)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement