View Venue & Details API
Added a page for viewing venue details. Added an api function for retrieving venue details.
This commit is contained in:
parent
ea1bdda8c2
commit
a112ba38e9
45
src/mainapp/templates/venue_details.html
Normal file
45
src/mainapp/templates/venue_details.html
Normal file
@ -0,0 +1,45 @@
|
||||
{% extends "base.html" %}
|
||||
{% load static %}
|
||||
|
||||
{% block title %}
|
||||
{{ venue.name }} |
|
||||
{% endblock title %}
|
||||
|
||||
{% block style %}
|
||||
{% endblock style %}
|
||||
|
||||
{% block header_buttons %}
|
||||
{% endblock header_buttons %}
|
||||
|
||||
{% block content %}
|
||||
<div class="row">
|
||||
<div class="col-xl-5 col-lg-6 col-md-10">
|
||||
<div class="m-sm-5 m-3">
|
||||
<h1 class="text-company fw-bold">
|
||||
{{ venue.name}}
|
||||
</h1>
|
||||
<div class="text-body-secondary mb-4">
|
||||
<p class="mb-0">{{ venue.street_address }}</p>
|
||||
<p class="mb-0">{{ venue.city }}, {{ venue.provence }}</p>
|
||||
<p class="mb-0">{{ venue.postal_code }}</p>
|
||||
</div>
|
||||
<div class="mb-4">
|
||||
<p class="mb-0">Lorem ipsum dolor sit amet consectetur adipisicing elit. Repudiandae eveniet aspernatur neque vero molestias nemo, voluptatum eum quo blanditiis. Voluptate provident earum placeat impedit cumque sapiente praesentium, alias omnis tempore!</p>
|
||||
<!-- <p class="mb-0">{{ venue.description }}</p> -->
|
||||
</div>
|
||||
<div class="mb-4">
|
||||
<h5 class="text-company">
|
||||
Contact
|
||||
</h5>
|
||||
<div class="text-body-secondary mb-4">
|
||||
<p class="mb-0">{{ venue.phone_number }}</p>
|
||||
<p class="mb-0">{{ venue.email_address }}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock content %}
|
||||
|
||||
{% block scripts %}
|
||||
{% endblock scripts %}
|
@ -8,6 +8,8 @@ urlpatterns = [
|
||||
path('members/', views.teams, name='members'),
|
||||
path('venues/', views.venues, name='venues'),
|
||||
path('venues/get-waters/<int:venue_id>', views.get_venue_waters, name="get-venue-waters"),
|
||||
path('venues/<int:venue_id>', views.venue_details, name="venue-details"),
|
||||
path("venues/api/<int:venue_id>", views.get_venue_details, name="venue-details"),
|
||||
|
||||
# path('bulk-peg/', views.bulk_create_pegs, name='bulk-peg'),
|
||||
path('get-angler-data/', views.get_angler_page_data, name='get-angler-data'),
|
||||
|
@ -1,5 +1,6 @@
|
||||
"""Views for the main app."""
|
||||
|
||||
import json
|
||||
from functools import reduce
|
||||
|
||||
from django.shortcuts import render, redirect
|
||||
@ -8,7 +9,9 @@ from django.db.models import Q, Case, When, Value, IntegerField, Min
|
||||
from django.db.utils import IntegrityError
|
||||
from django.views import View
|
||||
from django.views.decorators.http import require_GET, require_POST
|
||||
from django.http import HttpRequest
|
||||
from django.http import HttpRequest, HttpResponseNotFound
|
||||
from django.core import serializers
|
||||
from django.forms.models import model_to_dict
|
||||
|
||||
from .models import Venue, Waters
|
||||
# from .models import Team, Member, Section, SectionManager, ReusableAutoField, SectionValidator
|
||||
@ -29,10 +32,32 @@ def teams(request):
|
||||
def venues(request):
|
||||
|
||||
venues = Venue.objects.all()
|
||||
context = {"venues": venues}
|
||||
context = {"venues": venues, "venue_types": Venue.VENUE_TYPES}
|
||||
|
||||
return render(request, 'venues.html', context)
|
||||
|
||||
def venue_details(request, venue_id):
|
||||
|
||||
try:
|
||||
venue = Venue.objects.get(id=venue_id)
|
||||
except Venue.DoesNotExist:
|
||||
return HttpResponseNotFound("<h1>404 - Venue not found</h1>")
|
||||
|
||||
context = {"venue": venue}
|
||||
|
||||
return render(request, 'venue_details.html', context)
|
||||
|
||||
def get_venue_details(request, venue_id: int):
|
||||
|
||||
try:
|
||||
venue = Venue.objects.get(pk=venue_id)
|
||||
except Venue.DoesNotExist:
|
||||
return JsonResponse({"error": "Venue not found"}, status=404)
|
||||
|
||||
json_venue = model_to_dict(venue)
|
||||
|
||||
return JsonResponse({"data": json_venue})
|
||||
|
||||
def get_venue_waters(request, venue_id: int):
|
||||
|
||||
try:
|
||||
|
Loading…
x
Reference in New Issue
Block a user