Edited index.html and venues.js

Wrapped index.html in form tag and edited venues.js submit function.
This commit is contained in:
jamesparkin675 2024-06-25 21:23:58 +01:00
parent a00d595ebb
commit 2739acca81
6 changed files with 499 additions and 495 deletions

View File

@ -1,7 +1,6 @@
asgiref==3.6.0
Django==4.1.5
django-appconf==1.0.5
django-baton==2.6.0
django-compressor==4.4
django-libsass==0.9
libsass==0.22.0

View File

@ -26,13 +26,12 @@ SECRET_KEY = 'django-insecure-==z9@atc)#1c@%@+txwiie=3qk)9r92antn3b$v#4o8r2q63&d
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True
ALLOWED_HOSTS = ["*", "192.168.5.105"]
ALLOWED_HOSTS = ["*"]
# Application definition
INSTALLED_APPS = [
'baton',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
@ -41,7 +40,6 @@ INSTALLED_APPS = [
'django.contrib.staticfiles',
# 'rest_framework_datatables'
'mainapp',
'baton.autodiscover',
'compressor',
]

View File

@ -13,11 +13,10 @@ Including another URLconf
1. Import the include() function: from django.urls import include, path
2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
"""
from baton.autodiscover import admin
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('baton/', include('baton.urls')),
path('', include('mainapp.urls')),
]

View File

@ -161,202 +161,204 @@
<h5 class="modal-title text-truncate me-5">New Venue</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal"></button>
</div>
<div class="row g-0 flex-md-grow-1">
<div class="col-md-1">
<div id="sidebarNavigation" class="bg-body-tertiary">
<div class="modal-sidebar flex-row flex-md-column align-items-start text-center" role="tablist">
<button id="detailsTab" class="modal-sidebar-btn active" type="button" data-bs-toggle="tab" data-bs-target="#detailsContent" role="tab" aria-controls="detailsContent" aria-selected="true">
<i class="bi bi-file-earmark-text"></i>
</button>
<button id="addressTab" class="modal-sidebar-btn" type="button" data-bs-toggle="tab" data-bs-target="#addressContent" role="tab" aria-controls="addressContent" aria-selected="false">
<i class="bi bi-geo-alt"></i>
</button>
<button id="contactTab" class="modal-sidebar-btn" type="button" data-bs-toggle="tab" data-bs-target="#contactContent" role="tab" aria-controls="contactContent" aria-selected="false">
<i class="bi bi-telephone"></i>
</button>
<button id="watersTab" class="modal-sidebar-btn" type="button" data-bs-toggle="tab" data-bs-target="#watersContent" role="tab" aria-controls="watersContent" aria-selected="false">
<i class="bi bi-droplet-half"></i>
</button>
<button id="confirmTab" class="modal-sidebar-btn mt-md-auto" type="button" data-bs-toggle="tab" data-bs-target="#confirmContent" role="tab" aria-controls="confirmContent" aria-selected="false">
<i class="bi bi-check-lg"></i>
</button>
<form id="venueForm" class="flex-md-grow-1 d-flex" novalidate>
<div class="row g-0 flex-md-grow-1">
<div class="col-md-1">
<div id="sidebarNavigation" class="bg-body-tertiary">
<div class="modal-sidebar flex-row flex-md-column align-items-start text-center" role="tablist">
<button id="detailsTab" class="modal-sidebar-btn active" type="button" data-bs-toggle="tab" data-bs-target="#detailsContent" role="tab" aria-controls="detailsContent" aria-selected="true">
<i class="bi bi-file-earmark-text"></i>
</button>
<button id="addressTab" class="modal-sidebar-btn" type="button" data-bs-toggle="tab" data-bs-target="#addressContent" role="tab" aria-controls="addressContent" aria-selected="false">
<i class="bi bi-geo-alt"></i>
</button>
<button id="contactTab" class="modal-sidebar-btn" type="button" data-bs-toggle="tab" data-bs-target="#contactContent" role="tab" aria-controls="contactContent" aria-selected="false">
<i class="bi bi-telephone"></i>
</button>
<button id="watersTab" class="modal-sidebar-btn" type="button" data-bs-toggle="tab" data-bs-target="#watersContent" role="tab" aria-controls="watersContent" aria-selected="false">
<i class="bi bi-droplet-half"></i>
</button>
<button id="confirmTab" class="modal-sidebar-btn mt-md-auto" type="button" data-bs-toggle="tab" data-bs-target="#confirmContent" role="tab" aria-controls="confirmContent" aria-selected="false">
<i class="bi bi-check-lg"></i>
</button>
</div>
</div>
</div>
</div>
<div class="col-md-11 overflow-auto">
<div class="tab-content d-inline-block w-100 h-100 py-3 px-4">
<div id="detailsContent" class="tab-pane fade flex-column h-100 show active">
<div class="form-floating mb-4">
<input type="text" name="venueName" id="venueName" class="form-control" placeholder="">
<label for="venueName" class="form-label">Venue Name</label>
</div>
<div class="form-floating mb-4">
<textarea class="form-control" style="height: 150px; resize: none;" placeholder=""></textarea>
<label for="" class="form-label">Description</label>
</div>
<div class="mb-4">
<div class="form-check form-check-inline">
<input type="radio" name="venueType" id="venueFishery" class="form-check-input">
<label for="venueFishery" class="form-check-label">Fishery</label>
<div class="col-md-11 overflow-auto">
<div class="tab-content d-inline-block w-100 h-100 py-3 px-4">
<div id="detailsContent" class="tab-pane fade flex-column h-100 show active">
<div class="form-floating mb-4">
<input type="text" name="venueName" id="venueName" class="form-control" placeholder="">
<label for="venueName" class="form-label">Venue Name</label>
</div>
<div class="form-check form-check-inline">
<input type="radio" name="venueType" id="venueClub" class="form-check-input">
<label for="venueClub" class="form-check-label">Club</label>
<div class="form-floating mb-4">
<textarea class="form-control" style="height: 150px; resize: none;" placeholder=""></textarea>
<label for="" class="form-label">Description</label>
</div>
<div class="form-check form-check-inline">
<input type="radio" name="venueType" id="venuePrivate" class="form-check-input">
<label for="venuePrivate" class="form-check-label">Private</label>
<div class="mb-4">
<div class="form-check form-check-inline">
<input type="radio" name="venueType" id="venueFishery" class="form-check-input">
<label for="venueFishery" class="form-check-label">Fishery</label>
</div>
<div class="form-check form-check-inline">
<input type="radio" name="venueType" id="venueClub" class="form-check-input">
<label for="venueClub" class="form-check-label">Club</label>
</div>
<div class="form-check form-check-inline">
<input type="radio" name="venueType" id="venuePrivate" class="form-check-input">
<label for="venuePrivate" class="form-check-label">Private</label>
</div>
</div>
<div class="form-check form-switch">
<input type="checkbox" name="venueActive" id="venueActive" class="form-check-input">
<label for="venueActive" class="form-check-label">Venue is active?</label>
</div>
<div class="mt-5 mt-md-auto d-flex justify-content-end">
<button class="btn btn-primary px-3" type="button" onclick="$('#addressTab').click();">Next</button>
</div>
</div>
<div class="form-check form-switch">
<input type="checkbox" name="venueActive" id="venueActive" class="form-check-input">
<label for="venueActive" class="form-check-label">Venue is active?</label>
<div id="addressContent" class="tab-pane fade flex-column h-100">
<div class="form-floating mb-4">
<input type="text" name="venueSearch" id="venueSearch" class="form-control" placeholder="">
<label for="venueSearch" class="form-label">
<i class="bi bi-search me-1"></i>
Post Code or Street Address
</label>
</div>
<div id="venueSearchResults" style="display: none">
<div class="row">
<div class="col-lg-6">
<div class="form-floating mb-3">
<input type="text" name="venueStreetNum" id="venueStreetNum" class="form-control-plaintext" placeholder="" readonly>
<label for="venueStreetNum" class="form-label">Street Number</label>
</div>
</div>
<div class="col-lg-6">
<div class="form-floating mb-3">
<input type="text" name="venueStreet" id="venueStreet" class="form-control-plaintext" placeholder="" readonly>
<label for="venueStreet" class="form-label">Street Address</label>
</div>
</div>
<div class="col-lg-6">
<div class="form-floating mb-3">
<input type="text" name="venueCity" id="venueCity" class="form-control-plaintext" placeholder="" readonly>
<label for="venueCity" class="form-label">Town/City</label>
</div>
</div>
<div class="col-lg-6">
<div class="form-floating mb-3">
<input type="text" name="venueCounty" id="venueCounty" class="form-control-plaintext" placeholder="" readonly>
<label for="venueCounty" class="form-label">County/Region</label>
</div>
</div>
<div class="col-lg-6">
<div class="form-floating mb-3">
<input type="text" name="venuePost" id="venuePost" class="form-control-plaintext" placeholder="" readonly>
<label for="venuePost" class="form-label">Post Code</label>
</div>
</div>
<div class="col-lg-6">
<div class="form-floating mb-3">
<input type="text" name="venueCountry" id="venueCountry" class="form-control-plaintext" placeholder="" readonly>
<label for="venueCountry" class="form-label">Country</label>
</div>
</div>
<div class="col-lg-6">
<div class="form-floating mb-3">
<input type="text" name="venueLat" id="venueLat" class="form-control-plaintext" placeholder="" readonly>
<label for="venueLat" class="form-label">Latitude</label>
</div>
</div>
<div class="col-lg-6">
<div class="form-floating mb-3">
<input type="text" name="venueLng" id="venueLng" class="form-control-plaintext" placeholder="" readonly>
<label for="venueLng" class="form-label">Longitude</label>
</div>
</div>
</div>
</div>
<div id="venueSearchHelper" class="my-auto text-center">
<label for="venueSearch" class="fs-4 mx-lg-4 text-body-secondary">Use the search to find your venue.</label>
</div>
<div class="mt-5 mt-md-auto d-flex justify-content-end">
<button class="btn btn-outline-secondary me-3" type="button" onclick="$('#detailsTab').click();">Back</button>
<button class="btn btn-primary px-3" type="button" onclick="$('#contactTab').click();">Next</button>
</div>
</div>
<div class="mt-5 mt-md-auto d-flex justify-content-end">
<button class="btn btn-primary px-3" type="button" onclick="$('#addressTab').click();">Next</button>
</div>
</div>
<div id="addressContent" class="tab-pane fade flex-column h-100">
<div class="form-floating mb-4">
<input type="text" name="venueSearch" id="venueSearch" class="form-control" placeholder="">
<label for="venueSearch" class="form-label">
<i class="bi bi-search me-1"></i>
Post Code or Street Address
</label>
</div>
<div id="venueSearchResults" style="display: none">
<div id="contactContent" class="tab-pane fade flex-column h-100">
<div class="row">
<div class="col-lg-6">
<div class="form-floating mb-3">
<input type="text" name="venueStreetNum" id="venueStreetNum" class="form-control-plaintext" placeholder="" readonly>
<label for="venueStreetNum" class="form-label">Street Number</label>
<div class="col-6">
<div class="form-floating mb-4">
<input type="tel" name="venuePhone" id="venuePhone" class="form-control" placeholder="">
<label for="venuePhone" class="form-label">Phone Number</label>
</div>
</div>
<div class="col-lg-6">
<div class="form-floating mb-3">
<input type="text" name="venueStreet" id="venueStreet" class="form-control-plaintext" placeholder="" readonly>
<label for="venueStreet" class="form-label">Street Address</label>
<div class="col-6">
<div class="form-floating mb-4">
<input type="email" name="venueEmail" id="venueEmail" class="form-control" placeholder="">
<label for="venueEmail" class="form-label">Email Address</label>
</div>
</div>
<div class="col-lg-6">
<div class="form-floating mb-3">
<input type="text" name="venueCity" id="venueCity" class="form-control-plaintext" placeholder="" readonly>
<label for="venueCity" class="form-label">Town/City</label>
</div>
</div>
<div class="col-lg-6">
<div class="form-floating mb-3">
<input type="text" name="venueCounty" id="venueCounty" class="form-control-plaintext" placeholder="" readonly>
<label for="venueCounty" class="form-label">County/Region</label>
</div>
</div>
<div class="col-lg-6">
<div class="form-floating mb-3">
<input type="text" name="venuePost" id="venuePost" class="form-control-plaintext" placeholder="" readonly>
<label for="venuePost" class="form-label">Post Code</label>
</div>
</div>
<div class="col-lg-6">
<div class="form-floating mb-3">
<input type="text" name="venueCountry" id="venueCountry" class="form-control-plaintext" placeholder="" readonly>
<label for="venueCountry" class="form-label">Country</label>
</div>
</div>
<div class="col-lg-6">
<div class="form-floating mb-3">
<input type="text" name="venueLat" id="venueLat" class="form-control-plaintext" placeholder="" readonly>
<label for="venueLat" class="form-label">Latitude</label>
</div>
</div>
<div class="col-lg-6">
<div class="form-floating mb-3">
<input type="text" name="venueLng" id="venueLng" class="form-control-plaintext" placeholder="" readonly>
<label for="venueLng" class="form-label">Longitude</label>
</div>
</div>
</div>
</div>
<div id="venueSearchHelper" class="my-auto text-center">
<label for="venueSearch" class="fs-4 mx-lg-4 text-body-secondary">Use the search to find your venue.</label>
</div>
<div class="mt-5 mt-md-auto d-flex justify-content-end">
<button class="btn btn-outline-secondary me-3" type="button" onclick="$('#detailsTab').click();">Back</button>
<button class="btn btn-primary px-3" type="button" onclick="$('#contactTab').click();">Next</button>
</div>
</div>
<div id="contactContent" class="tab-pane fade flex-column h-100">
<div class="row">
<div class="col-6">
<div class="form-floating mb-4">
<input type="tel" name="venuePhone" id="venuePhone" class="form-control" placeholder="">
<label for="venuePhone" class="form-label">Phone Number</label>
</div>
</div>
<div class="col-6">
<div class="form-floating mb-4">
<input type="email" name="venueEmail" id="venueEmail" class="form-control" placeholder="">
<label for="venueEmail" class="form-label">Email Address</label>
</div>
<div class="form-floating mb-4">
<input type="url" name="venueWebsite" id="venueWebsite" class="form-control" placeholder="">
<label for="venueWebsite" class="form-label">Website URL</label>
</div>
<div class="form-floating mb-4">
<input type="url" name="venueFacebook" id="venueFacebook" class="form-control" placeholder="">
<label for="" class="form-label">Facebook URL</label>
</div>
<div class="form-floating mb-4">
<input type="url" name="venueInstagram" id="venueInstagram" class="form-control" placeholder="">
<label for="venueInstagram" class="form-label">Instagram URL</label>
</div>
<div class="form-floating mb-4">
<input type="url" name="venueTwitter" id="venueTwitter" class="form-control" placeholder="">
<label for="venueTwitter" class="form-label">Twitter URL</label>
</div>
<div class="mt-5 mt-md-auto d-flex justify-content-end">
<button class="btn btn-outline-secondary me-3" type="button" onclick="$('#addressTab').click();">Back</button>
<button class="btn btn-primary px-3" type="button" onclick="$('#watersTab').click();">Next</button>
</div>
</div>
<div class="form-floating mb-4">
<input type="url" name="venueWebsite" id="venueWebsite" class="form-control" placeholder="">
<label for="venueWebsite" class="form-label">Website URL</label>
</div>
<div class="form-floating mb-4">
<input type="url" name="venueFacebook" id="venueFacebook" class="form-control" placeholder="">
<label for="" class="form-label">Facebook URL</label>
</div>
<div class="form-floating mb-4">
<input type="url" name="venueInstagram" id="venueInstagram" class="form-control" placeholder="">
<label for="venueInstagram" class="form-label">Instagram URL</label>
</div>
<div class="form-floating mb-4">
<input type="url" name="venueTwitter" id="venueTwitter" class="form-control" placeholder="">
<label for="venueTwitter" class="form-label">Twitter URL</label>
</div>
<div class="mt-5 mt-md-auto d-flex justify-content-end">
<button class="btn btn-outline-secondary me-3" type="button" onclick="$('#addressTab').click();">Back</button>
<button class="btn btn-primary px-3" type="button" onclick="$('#watersTab').click();">Next</button>
</div>
</div>
<div id="watersContent" class="tab-pane fade flex-column h-100">
waters
<div class="mt-5 mt-md-auto d-flex justify-content-end">
<button class="btn btn-outline-secondary me-3" type="button" onclick="$('#contactTab').click();">Back</button>
<button class="btn btn-primary px-3" type="button" onclick="$('#confirmTab').click();">Next</button>
</div>
</div>
<div id="confirmContent" class="tab-pane fade flex-column h-100">
<div class="row">
<div class="col-12">
<div class="form-floating mb-3">
<input type="text" name="" id="" class="form-control-plaintext" placeholder="" readonly value="Chequered Lake">
<label for="" class="form-label">Venue Name</label>
</div>
</div>
<div class="col-lg-6">
<div class="form-floating mb-3">
<input type="text" name="" id="" class="form-control-plaintext" placeholder="" readonly value="Some description...">
<label for="" class="form-label">Description</label>
</div>
</div>
<div class="col-lg-6">
<div class="form-floating mb-3">
<input type="text" name="" id="" class="form-control-plaintext" placeholder="" readonly value="Fishery">
<label for="" class="form-label">Venue Type</label>
</div>
<div id="watersContent" class="tab-pane fade flex-column h-100">
waters
<div class="mt-5 mt-md-auto d-flex justify-content-end">
<button class="btn btn-outline-secondary me-3" type="button" onclick="$('#contactTab').click();">Back</button>
<button class="btn btn-primary px-3" type="button" onclick="$('#confirmTab').click();">Next</button>
</div>
</div>
<div class="mt-5 mt-md-auto d-flex justify-content-end">
<button class="btn btn-outline-secondary me-3" type="button" onclick="$('#watersTab').click();">Back</button>
<button class="btn btn-primary" type="button" onclick="alert('not implemented')">Save Changes</button>
<div id="confirmContent" class="tab-pane fade flex-column h-100">
<div class="row">
<div class="col-12">
<div class="form-floating mb-3">
<input type="text" name="" id="" class="form-control-plaintext" placeholder="" readonly value="Chequered Lake">
<label for="" class="form-label">Venue Name</label>
</div>
</div>
<div class="col-lg-6">
<div class="form-floating mb-3">
<input type="text" name="" id="" class="form-control-plaintext" placeholder="" readonly value="Some description...">
<label for="" class="form-label">Description</label>
</div>
</div>
<div class="col-lg-6">
<div class="form-floating mb-3">
<input type="text" name="" id="" class="form-control-plaintext" placeholder="" readonly value="Fishery">
<label for="" class="form-label">Venue Type</label>
</div>
</div>
</div>
<div class="mt-5 mt-md-auto d-flex justify-content-end">
<button class="btn btn-outline-secondary me-3" type="button" onclick="$('#watersTab').click();">Back</button>
<button class="btn btn-primary" type="submit">Save Changes</button>
</div>
</div>
</div>
</div>
</div>
</div>
</form>
</div>
</div>
</div>

View File

@ -122,347 +122,348 @@
<span class="edit" style="display: none">Edit Venue</span>
</h4>
</div>
<div class="modal-body border-bottom-0 p-0 overflow-hidden">
<ul id="newVenueTabBtns" class="nav nav-pills mb-4 d-flex w-100 justify-content-center py-2 bg-light" role="tablist">
<li class="nav-item" role="presentation">
<button id="newVenueDetailsTabBtn" class="nav-link rounded-4 active" data-bs-toggle="pill" data-bs-target="#newVenueDetailsTab" type="button" role="tab" aria-controls="newVenueDetailsTab" aria-selected="true">Details</button>
</li>
<li class="nav-item" role="presentation">
<button id="newVenueAddressTabBtn" class="nav-link rounded-4" data-bs-toggle="pill" data-bs-target="#newVenueAddressTab" type="button" role="tab" aria-controls="newVenueAddressTab" aria-selected="false">Address</button>
</li>
<li class="nav-item" role="presentation">
<button id="newVenueContactTabBtn" class="nav-link rounded-4" data-bs-toggle="pill" data-bs-target="#newVenueContactTab" type="button" role="tab" aria-controls="newVenueContactTab" aria-selected="false">Contact</button>
</li>
<li class="nav-item" role="presentation">
<button id="newVenueWatersTabBtn" class="nav-link rounded-4" data-bs-toggle="pill" data-bs-target="#newVenueWatersTab" type="button" role="tab" aria-controls="newVenueWatersTab" aria-selected="false">Waters</button>
</li>
</ul>
<div class="px-2 px-sm-4 pb-0">
<form id="venueForm" n class="needs-validation" novalidate>
<div id="newVenueTabs" class="tab-content">
<div id="newVenueDetailsTab" class="tab-pane fade show active" role="tabpanel" aria-labelledby="newVenueDetailsTabBtn" tabindex="0">
<div class="row g-4 align-items-start mb-3">
<div class="col-12">
<div class="form-floating">
<input name="venueName" id="venueName" type="text" class="form-control" placeholder="" minlength="3" maxlength="100" required>
<label for="venueName" class="form-label">
Name <strong class="text-danger">&ast;</strong>
</label>
<div class="invalid-feedback">Please enter the Venue's name</div>
</div>
</div>
<div class="col-sm-7">
<div class="form-floating">
<select name="venueType" id="venueType" class="form-select" placeholder="" required>
<option disabled value="">Choose one ...</option>
{% for type in venue_types %}
<option value="{{ type.0 }}">{{ type.1 }}</option>
{% endfor %}
</select>
<label for="venueType" class="form-label">
Type of Venue <strong class="text-danger">&ast;</strong>
</label>
<div class="invalid-feedback">Please select a Venue type</div>
</div>
</div>
<div class="col-12">
<div class="form-floating">
<textarea name="venueDescription" id="venueDescription" type="text" class="form-control venue-textarea" placeholder="" maxlength="500"></textarea>
<label for="venueDescription" class="form-label">
Description
</label>
<div class="invalid-feedback">Please enter a brief description of the Venue</div>
</div>
</div>
<div class="col-12">
<div class="form-floating">
<textarea name="venueExtraNotes" id="venueExtraNotes" type="text" class="form-control venue-textarea" placeholder="" maxlength="500"></textarea>
<label for="venueExtraNotes" class="form-label">Extra Notes</label>
<div class="invalid-feedback">Please enter any additional notes regarding the Venue</div>
</div>
</div>
</div>
</div>
<div id="newVenueAddressTab" class="tab-pane fade" role="tabpanel" aria-labelledby="newVenueAddressTabBtn" tabindex="0">
<div class="mb-3">
<div class="form-floating">
<input name="venueStreetAddress" id="venueStreetAddress" type="text" class="form-control" placeholder="" required>
<label for="venueStreetAddress" class="form-label">
Street Address <strong class="text-danger">&ast;</strong>
</label>
<div class="invalid-feedback">Please enter a valid Street Address</div>
</div>
</div>
<div class="row g-4 align-items-start mb-3">
<div class="col-6">
<div class="form-floating">
<input name="venueCity" id="venueCity" type="text" class="form-control" placeholder="" required>
<label for="venueCity" class="form-label">
Town or City <strong class="text-danger">&ast;</strong>
</label>
<div class="invalid-feedback">Please enter a Town or City</div>
</div>
</div>
<div class="col-6">
<div class="form-floating">
<input name="venueProvence" id="venueProvence" type="text" class="form-control" placeholder="" required>
<label for="venueProvence" class="form-label">
Provence <strong class="text-danger">&ast;</strong>
</label>
<div class="invalid-feedback">Please enter a Provence</div>
</div>
</div>
<div class="col-6">
<div class="form-floating">
<input name="venuePostCode" id="venuePostCode" type="text" class="form-control" placeholder="" required>
<label for="venuePostCode" class="form-label">
Postal Code <strong class="text-danger">&ast;</strong>
</label>
<div class="invalid-feedback">Please enter a Postal Code</div>
</div>
</div>
<div class="col-6">
<div class="form-floating">
<!-- <input name="venueCountry" id="venueCountry" type="text" class="form-control" placeholder="" required> -->
<select name="venueCountry" id="venueCountry" class="form-select" placeholder="" disabled required>
<option value="UK">United Kingdom</option>
</select>
<label for="venueCountry" class="form-label">
Country <i class="bi bi-lock-fill text-warning-emphasis"></i>
</label>
<div class="invalid-feedback">Please enter a Country</div>
</div>
</div>
<div class="d-none">
<input type="hidden" name="venueLatitude" id="venueLatitude">
<input type="hidden" name="venueLongitude" id="venueLongitude">
</div>
<div class="col-12">
<div id="locationMapContainer" class="w-100 position-relative" style="height: 225px;">
<div id="locationMap" class="rounded-2 w-100 h-100"></div>
<div id="locationMapOverlay" style="display: none;">
<div class="spinner"></div>
<form id="venueForm" class="mb-0 needs-validation" novalidate>
<div class="modal-body border-bottom-0 p-0 overflow-hidden">
<ul id="newVenueTabBtns" class="nav nav-pills mb-4 d-flex w-100 justify-content-center py-2 bg-light" role="tablist">
<li class="nav-item" role="presentation">
<button id="newVenueDetailsTabBtn" class="nav-link rounded-4 active" data-bs-toggle="pill" data-bs-target="#newVenueDetailsTab" type="button" role="tab" aria-controls="newVenueDetailsTab" aria-selected="true">Details</button>
</li>
<li class="nav-item" role="presentation">
<button id="newVenueAddressTabBtn" class="nav-link rounded-4" data-bs-toggle="pill" data-bs-target="#newVenueAddressTab" type="button" role="tab" aria-controls="newVenueAddressTab" aria-selected="false">Address</button>
</li>
<li class="nav-item" role="presentation">
<button id="newVenueContactTabBtn" class="nav-link rounded-4" data-bs-toggle="pill" data-bs-target="#newVenueContactTab" type="button" role="tab" aria-controls="newVenueContactTab" aria-selected="false">Contact</button>
</li>
<li class="nav-item" role="presentation">
<button id="newVenueWatersTabBtn" class="nav-link rounded-4" data-bs-toggle="pill" data-bs-target="#newVenueWatersTab" type="button" role="tab" aria-controls="newVenueWatersTab" aria-selected="false">Waters</button>
</li>
</ul>
<div class="px-2 px-sm-4 pb-0">
<div id="newVenueTabs" class="tab-content">
<div id="newVenueDetailsTab" class="tab-pane fade show active" role="tabpanel" aria-labelledby="newVenueDetailsTabBtn" tabindex="0">
<div class="row g-4 align-items-start mb-3">
<div class="col-12">
<div class="form-floating">
<input name="venueName" id="venueName" type="text" class="form-control" placeholder="" minlength="3" maxlength="100" required>
<label for="venueName" class="form-label">
Name <strong class="text-danger">&ast;</strong>
</label>
<div class="invalid-feedback">Please enter the Venue's name</div>
</div>
</div>
<div class="col-sm-7">
<div class="form-floating">
<select name="venueType" id="venueType" class="form-select" placeholder="" required>
<option disabled value="">Choose one ...</option>
{% for type in venue_types %}
<option value="{{ type.0 }}">{{ type.1 }}</option>
{% endfor %}
</select>
<label for="venueType" class="form-label">
Type of Venue <strong class="text-danger">&ast;</strong>
</label>
<div class="invalid-feedback">Please select a Venue type</div>
</div>
</div>
<div class="col-12">
<div class="form-floating">
<textarea name="venueDescription" id="venueDescription" type="text" class="form-control venue-textarea" placeholder="" maxlength="500"></textarea>
<label for="venueDescription" class="form-label">
Description
</label>
<div class="invalid-feedback">Please enter a brief description of the Venue</div>
</div>
</div>
<div class="col-12">
<div class="form-floating">
<textarea name="venueExtraNotes" id="venueExtraNotes" type="text" class="form-control venue-textarea" placeholder="" maxlength="500"></textarea>
<label for="venueExtraNotes" class="form-label">Extra Notes</label>
<div class="invalid-feedback">Please enter any additional notes regarding the Venue</div>
</div>
</div>
<span class="form-text">(<strong>Disclaimer&colon;</strong> results fetched from clicking the map may be inaccurate)</span>
</div>
</div>
</div>
<div id="newVenueContactTab" class="tab-pane fade" role="tabpanel" aria-labelledby="newVenueContactTabBtn" tabindex="0">
<div class="row g-4 align-items-start">
<div class="col-6">
<div id="newVenueAddressTab" class="tab-pane fade" role="tabpanel" aria-labelledby="newVenueAddressTabBtn" tabindex="0">
<div class="mb-3">
<div class="form-floating">
<input name="venuePhone" id="venuePhone" type="tel" class="form-control" placeholder="">
<label for="venuePhone" class="form-label">Phone Number</label>
<div class="invalid-feedback">Bad phone number</div>
<input name="venueStreetAddress" id="venueStreetAddress" type="text" class="form-control" placeholder="" required>
<label for="venueStreetAddress" class="form-label">
Street Address <strong class="text-danger">&ast;</strong>
</label>
<div class="invalid-feedback">Please enter a valid Street Address</div>
</div>
</div>
<div class="col-6">
<div class="form-floating">
<input name="venueEmail" id="venueEmail" type="email" class="form-control" placeholder="">
<label for="venueEmail" class="form-label">Email Address</label>
<div class="invalid-feedback"></div>
</div>
</div>
<div class="col-12">
<div class="form-floating">
<input name="venueWebsite" id="venueWebsite" type="url" class="form-control" placeholder="">
<label for="venueWebsite" class="form-label">Website Address</label>
<div class="invalid-feedback"></div>
</div>
</div>
<div class="col-12">
<div class="input-group">
<span class="input-group-text">
<i class="bi bi-twitter" style="color: #1DA1F2"></i>
</span>
<div class="row g-4 align-items-start mb-3">
<div class="col-6">
<div class="form-floating">
<input name="venueTwitter" id="venueTwitter" type="url" class="form-control" placeholder="">
<label for="venueTwitter" class="form-label d-flex align-items-center">
Twitter Profile Address
<input name="venueCity" id="venueCity" type="text" class="form-control" placeholder="" required>
<label for="venueCity" class="form-label">
Town or City <strong class="text-danger">&ast;</strong>
</label>
<div class="invalid-feedback">Please enter a Town or City</div>
</div>
</div>
<div class="col-6">
<div class="form-floating">
<input name="venueProvence" id="venueProvence" type="text" class="form-control" placeholder="" required>
<label for="venueProvence" class="form-label">
Provence <strong class="text-danger">&ast;</strong>
</label>
<div class="invalid-feedback">Please enter a Provence</div>
</div>
</div>
<div class="col-6">
<div class="form-floating">
<input name="venuePostCode" id="venuePostCode" type="text" class="form-control" placeholder="" required>
<label for="venuePostCode" class="form-label">
Postal Code <strong class="text-danger">&ast;</strong>
</label>
<div class="invalid-feedback">Please enter a Postal Code</div>
</div>
</div>
<div class="col-6">
<div class="form-floating">
<!-- <input name="venueCountry" id="venueCountry" type="text" class="form-control" placeholder="" required> -->
<select name="venueCountry" id="venueCountry" class="form-select" placeholder="" disabled required>
<option value="UK">United Kingdom</option>
</select>
<label for="venueCountry" class="form-label">
Country <i class="bi bi-lock-fill text-warning-emphasis"></i>
</label>
<div class="invalid-feedback">Please enter a Country</div>
</div>
</div>
<div class="d-none">
<input type="hidden" name="venueLatitude" id="venueLatitude">
<input type="hidden" name="venueLongitude" id="venueLongitude">
</div>
<div class="col-12">
<div id="locationMapContainer" class="w-100 position-relative" style="height: 225px;">
<div id="locationMap" class="rounded-2 w-100 h-100"></div>
<div id="locationMapOverlay" style="display: none;">
<div class="spinner"></div>
</div>
</div>
<span class="form-text">(<strong>Disclaimer&colon;</strong> results fetched from clicking the map may be inaccurate)</span>
</div>
</div>
</div>
<div id="newVenueContactTab" class="tab-pane fade" role="tabpanel" aria-labelledby="newVenueContactTabBtn" tabindex="0">
<div class="row g-4 align-items-start">
<div class="col-6">
<div class="form-floating">
<input name="venuePhone" id="venuePhone" type="tel" class="form-control" placeholder="">
<label for="venuePhone" class="form-label">Phone Number</label>
<div class="invalid-feedback">Bad phone number</div>
</div>
</div>
<div class="col-6">
<div class="form-floating">
<input name="venueEmail" id="venueEmail" type="email" class="form-control" placeholder="">
<label for="venueEmail" class="form-label">Email Address</label>
<div class="invalid-feedback"></div>
</div>
</div>
</div>
<div class="col-12">
<div class="input-group">
<span class="input-group-text">
<i class="bi bi-facebook" style="color: #4267B2"></i>
</span>
<div class="col-12">
<div class="form-floating">
<input name="venueFacebook" id="venueFacebook" type="url" class="form-control" placeholder="">
<label for="venueFacebook" class="form-label d-flex align-items-center">
Facebook Profile Address
</label>
<input name="venueWebsite" id="venueWebsite" type="url" class="form-control" placeholder="">
<label for="venueWebsite" class="form-label">Website Address</label>
<div class="invalid-feedback"></div>
</div>
</div>
</div>
<div class="col-12">
<div class="input-group">
<span class="input-group-text">
<i class="bi bi-instagram" style="color: #D62976;"></i>
</span>
<div class="form-floating">
<input name="venueInstagram" id="venueInstagram" type="url" class="form-control" placeholder="">
<label for="venueInstagram" class="form-label d-flex align-items-center">
Instagram Profile Address
</label>
<div class="invalid-feedback"></div>
<div class="col-12">
<div class="input-group">
<span class="input-group-text">
<i class="bi bi-twitter" style="color: #1DA1F2"></i>
</span>
<div class="form-floating">
<input name="venueTwitter" id="venueTwitter" type="url" class="form-control" placeholder="">
<label for="venueTwitter" class="form-label d-flex align-items-center">
Twitter Profile Address
</label>
<div class="invalid-feedback"></div>
</div>
</div>
</div>
<div class="col-12">
<div class="input-group">
<span class="input-group-text">
<i class="bi bi-facebook" style="color: #4267B2"></i>
</span>
<div class="form-floating">
<input name="venueFacebook" id="venueFacebook" type="url" class="form-control" placeholder="">
<label for="venueFacebook" class="form-label d-flex align-items-center">
Facebook Profile Address
</label>
<div class="invalid-feedback"></div>
</div>
</div>
</div>
<div class="col-12">
<div class="input-group">
<span class="input-group-text">
<i class="bi bi-instagram" style="color: #D62976;"></i>
</span>
<div class="form-floating">
<input name="venueInstagram" id="venueInstagram" type="url" class="form-control" placeholder="">
<label for="venueInstagram" class="form-label d-flex align-items-center">
Instagram Profile Address
</label>
<div class="invalid-feedback"></div>
</div>
</div>
</div>
</div>
</div>
</div>
<div id="newVenueWatersTab" class="tab-pane fade" role="tabpanel" aria-labelledby="newVenueWatersTabBtn" tabindex="0">
<div class="pb-5 pt-0 d-flex justify-content-between align-items-center">
<button class="btn btn-outline-secondary rounded-4 d-flex align-items-center">
<i class="bi bi-info-lg"></i>
</button>
<button class="btn btn-outline-company rounded-4 d-flex align-items-center">
<span>Add Waters</span>
</button>
<div id="newVenueWatersTab" class="tab-pane fade" role="tabpanel" aria-labelledby="newVenueWatersTabBtn" tabindex="0">
<div class="pb-5 pt-0 d-flex justify-content-between align-items-center">
<button class="btn btn-outline-secondary rounded-4 d-flex align-items-center">
<i class="bi bi-info-lg"></i>
</button>
<button class="btn btn-outline-company rounded-4 d-flex align-items-center">
<span>Add Waters</span>
</button>
</div>
<ul class="list-unstyled overflow-y-auto" style="max-height: 450px;">
<li class="list-group-item d-flex justify-content-between align-items-start mb-4">
<div class="ms-2 me-auto">
<div class="fw-bold">Section A · Coal Wharf, Market Drayton</div>
<p class="mb-0">Commercial Water</p>
<p class="mb-0 text-body-secondary">Specimen Carp</p>
</div>
<div class="d-flex flex-column align-self-stretch">
<span class="badge company-bg rounded-pill mb-4">1 · 36</span>
<button class="btn btn-outline-secondary small rounded-4 mt-auto">
<i class="bi bi-pencil-fill"></i>
</button>
</div>
</li>
<li class="list-group-item d-flex justify-content-between align-items-start mb-4">
<div class="ms-2 me-auto">
<div class="fw-bold">Section A · Coal Wharf, Market Drayton</div>
<p class="mb-0">Commercial Water</p>
<p class="mb-0 text-body-secondary">Specimen Carp</p>
</div>
<div class="d-flex flex-column align-self-stretch">
<span class="badge company-bg rounded-pill mb-4">1 · 36</span>
<button class="btn btn-outline-secondary small rounded-4 mt-auto">
<i class="bi bi-pencil-fill"></i>
</button>
</div>
</li>
<li class="list-group-item d-flex justify-content-between align-items-start mb-4">
<div class="ms-2 me-auto">
<div class="fw-bold">Section A · Coal Wharf, Market Drayton</div>
<p class="mb-0">Commercial Water</p>
<p class="mb-0 text-body-secondary">Specimen Carp</p>
</div>
<div class="d-flex flex-column align-self-stretch">
<span class="badge company-bg rounded-pill mb-4">1 · 36</span>
<button class="btn btn-outline-secondary small rounded-4 mt-auto">
<i class="bi bi-pencil-fill"></i>
</button>
</div>
</li>
<li class="list-group-item d-flex justify-content-between align-items-start mb-4">
<div class="ms-2 me-auto">
<div class="fw-bold">Section A · Coal Wharf, Market Drayton</div>
<p class="mb-0">Commercial Water</p>
<p class="mb-0 text-body-secondary">Specimen Carp</p>
</div>
<div class="d-flex flex-column align-self-stretch">
<span class="badge company-bg rounded-pill mb-4">1 · 36</span>
<button class="btn btn-outline-secondary small rounded-4 mt-auto">
<i class="bi bi-pencil-fill"></i>
</button>
</div>
</li>
<li class="list-group-item d-flex justify-content-between align-items-start mb-4">
<div class="ms-2 me-auto">
<div class="fw-bold">Section A · Coal Wharf, Market Drayton</div>
<p class="mb-0">Commercial Water</p>
<p class="mb-0 text-body-secondary">Specimen Carp</p>
</div>
<div class="d-flex flex-column align-self-stretch">
<span class="badge company-bg rounded-pill mb-4">1 · 36</span>
<button class="btn btn-outline-secondary small rounded-4 mt-auto">
<i class="bi bi-pencil-fill"></i>
</button>
</div>
</li>
<li class="list-group-item d-flex justify-content-between align-items-start mb-4">
<div class="ms-2 me-auto">
<div class="fw-bold">Section A · Coal Wharf, Market Drayton</div>
<p class="mb-0">Commercial Water</p>
<p class="mb-0 text-body-secondary">Specimen Carp</p>
</div>
<div class="d-flex flex-column align-self-stretch">
<span class="badge company-bg rounded-pill mb-4">1 · 36</span>
<button class="btn btn-outline-secondary small rounded-4 mt-auto">
<i class="bi bi-pencil-fill"></i>
</button>
</div>
</li>
<li class="list-group-item d-flex justify-content-between align-items-start mb-4">
<div class="ms-2 me-auto">
<div class="fw-bold">Section A · Coal Wharf, Market Drayton</div>
<p class="mb-0">Commercial Water</p>
<p class="mb-0 text-body-secondary">Specimen Carp</p>
</div>
<div class="d-flex flex-column align-self-stretch">
<span class="badge company-bg rounded-pill mb-4">1 · 36</span>
<button class="btn btn-outline-secondary small rounded-4 mt-auto">
<i class="bi bi-pencil-fill"></i>
</button>
</div>
</li>
<li class="list-group-item d-flex justify-content-between align-items-start mb-4">
<div class="ms-2 me-auto">
<div class="fw-bold">Section A · Coal Wharf, Market Drayton</div>
<p class="mb-0">Commercial Water</p>
<p class="mb-0 text-body-secondary">Specimen Carp</p>
</div>
<div class="d-flex flex-column align-self-stretch">
<span class="badge company-bg rounded-pill mb-4">1 · 36</span>
<button class="btn btn-outline-secondary small rounded-4 mt-auto">
<i class="bi bi-pencil-fill"></i>
</button>
</div>
</li>
</ul>
</div>
<ul class="list-unstyled overflow-y-auto" style="max-height: 450px;">
<li class="list-group-item d-flex justify-content-between align-items-start mb-4">
<div class="ms-2 me-auto">
<div class="fw-bold">Section A · Coal Wharf, Market Drayton</div>
<p class="mb-0">Commercial Water</p>
<p class="mb-0 text-body-secondary">Specimen Carp</p>
</div>
<div class="d-flex flex-column align-self-stretch">
<span class="badge company-bg rounded-pill mb-4">1 · 36</span>
<button class="btn btn-outline-secondary small rounded-4 mt-auto">
<i class="bi bi-pencil-fill"></i>
</button>
</div>
</li>
<li class="list-group-item d-flex justify-content-between align-items-start mb-4">
<div class="ms-2 me-auto">
<div class="fw-bold">Section A · Coal Wharf, Market Drayton</div>
<p class="mb-0">Commercial Water</p>
<p class="mb-0 text-body-secondary">Specimen Carp</p>
</div>
<div class="d-flex flex-column align-self-stretch">
<span class="badge company-bg rounded-pill mb-4">1 · 36</span>
<button class="btn btn-outline-secondary small rounded-4 mt-auto">
<i class="bi bi-pencil-fill"></i>
</button>
</div>
</li>
<li class="list-group-item d-flex justify-content-between align-items-start mb-4">
<div class="ms-2 me-auto">
<div class="fw-bold">Section A · Coal Wharf, Market Drayton</div>
<p class="mb-0">Commercial Water</p>
<p class="mb-0 text-body-secondary">Specimen Carp</p>
</div>
<div class="d-flex flex-column align-self-stretch">
<span class="badge company-bg rounded-pill mb-4">1 · 36</span>
<button class="btn btn-outline-secondary small rounded-4 mt-auto">
<i class="bi bi-pencil-fill"></i>
</button>
</div>
</li>
<li class="list-group-item d-flex justify-content-between align-items-start mb-4">
<div class="ms-2 me-auto">
<div class="fw-bold">Section A · Coal Wharf, Market Drayton</div>
<p class="mb-0">Commercial Water</p>
<p class="mb-0 text-body-secondary">Specimen Carp</p>
</div>
<div class="d-flex flex-column align-self-stretch">
<span class="badge company-bg rounded-pill mb-4">1 · 36</span>
<button class="btn btn-outline-secondary small rounded-4 mt-auto">
<i class="bi bi-pencil-fill"></i>
</button>
</div>
</li>
<li class="list-group-item d-flex justify-content-between align-items-start mb-4">
<div class="ms-2 me-auto">
<div class="fw-bold">Section A · Coal Wharf, Market Drayton</div>
<p class="mb-0">Commercial Water</p>
<p class="mb-0 text-body-secondary">Specimen Carp</p>
</div>
<div class="d-flex flex-column align-self-stretch">
<span class="badge company-bg rounded-pill mb-4">1 · 36</span>
<button class="btn btn-outline-secondary small rounded-4 mt-auto">
<i class="bi bi-pencil-fill"></i>
</button>
</div>
</li>
<li class="list-group-item d-flex justify-content-between align-items-start mb-4">
<div class="ms-2 me-auto">
<div class="fw-bold">Section A · Coal Wharf, Market Drayton</div>
<p class="mb-0">Commercial Water</p>
<p class="mb-0 text-body-secondary">Specimen Carp</p>
</div>
<div class="d-flex flex-column align-self-stretch">
<span class="badge company-bg rounded-pill mb-4">1 · 36</span>
<button class="btn btn-outline-secondary small rounded-4 mt-auto">
<i class="bi bi-pencil-fill"></i>
</button>
</div>
</li>
<li class="list-group-item d-flex justify-content-between align-items-start mb-4">
<div class="ms-2 me-auto">
<div class="fw-bold">Section A · Coal Wharf, Market Drayton</div>
<p class="mb-0">Commercial Water</p>
<p class="mb-0 text-body-secondary">Specimen Carp</p>
</div>
<div class="d-flex flex-column align-self-stretch">
<span class="badge company-bg rounded-pill mb-4">1 · 36</span>
<button class="btn btn-outline-secondary small rounded-4 mt-auto">
<i class="bi bi-pencil-fill"></i>
</button>
</div>
</li>
<li class="list-group-item d-flex justify-content-between align-items-start mb-4">
<div class="ms-2 me-auto">
<div class="fw-bold">Section A · Coal Wharf, Market Drayton</div>
<p class="mb-0">Commercial Water</p>
<p class="mb-0 text-body-secondary">Specimen Carp</p>
</div>
<div class="d-flex flex-column align-self-stretch">
<span class="badge company-bg rounded-pill mb-4">1 · 36</span>
<button class="btn btn-outline-secondary small rounded-4 mt-auto">
<i class="bi bi-pencil-fill"></i>
</button>
</div>
</li>
</ul>
</div>
</div>
</form>
</div>
</div>
</div>
<div class="modal-footer bg-light border-top-0 px-4 py-3">
<!-- <button type="button" class="btn btn-outline-danger rounded-4 me-auto px-3 edit" style="display: none">Delete</button>
<button type="button" class="btn btn-outline-secondary me-3 rounded-4 px-3" data-bs-dismiss="modal">Cancel</button>
<button type="submit" id="saveVenue" class="btn btn-company rounded-4 px-3" form="venueForm">
<span class="edit" style="display: none;">Save Edit</span>
<span class="create" style="display: none;">Save New</span>
</button> -->
<button type="button" class="btn btn-outline-danger rounded-4">
<i class="bi bi-trash2"></i>
</button>
<div class="mx-auto">
<!-- <button type="button" id="newVenueTabLeft" class="btn btn-company rounded-4 me-1" disabled>
<i class="bi bi-chevron-left"></i>
</button> -->
<button type="submit" id="saveVenue" class="btn btn-company rounded-4 px-4" form="venueForm">
<!-- <i class="bi bi-floppy"></i> -->
<div class="modal-footer bg-light border-top-0 px-4 py-3">
<!-- <button type="button" class="btn btn-outline-danger rounded-4 me-auto px-3 edit" style="display: none">Delete</button>
<button type="button" class="btn btn-outline-secondary me-3 rounded-4 px-3" data-bs-dismiss="modal">Cancel</button>
<button type="submit" id="saveVenue" class="btn btn-company rounded-4 px-3" form="venueForm">
<span class="edit" style="display: none;">Save Edit</span>
<span class="create" style="display: none;">Save New</span>
</button>
<!-- <button type="button" id="newVenueTabRight" class="btn btn-company rounded-4 ms-1">
<i class="bi bi-chevron-right"></i>
</button> -->
<button type="button" class="btn btn-outline-danger rounded-4">
<i class="bi bi-trash2"></i>
</button>
<div class="mx-auto">
<!-- <button type="button" id="newVenueTabLeft" class="btn btn-company rounded-4 me-1" disabled>
<i class="bi bi-chevron-left"></i>
</button> -->
<button type="submit" id="saveVenue" class="btn btn-company rounded-4 px-4" form="venueForm">
<!-- <i class="bi bi-floppy"></i> -->
<span class="edit" style="display: none;">Save Edit</span>
<span class="create" style="display: none;">Save New</span>
</button>
<!-- <button type="button" id="newVenueTabRight" class="btn btn-company rounded-4 ms-1">
<i class="bi bi-chevron-right"></i>
</button> -->
</div>
<button type="button" class="btn btn-outline-secondary rounded-4" data-bs-dismiss="modal">
<i class="bi bi-x-lg"></i>
</button>
</div>
<button type="button" class="btn btn-outline-secondary rounded-4" data-bs-dismiss="modal">
<i class="bi bi-x-lg"></i>
</button>
</div>
</form>
</div>
</div>
</div>

View File

@ -6,6 +6,11 @@ function openVenueModal(venue_id) {
new bootstrap.Modal("#venueModal").show();
}
$("#venueForm").on("submit", function(){
alert("joe")
// var
})
function showPage(page) {
if (page.length === 0) return;
$("#newVenuePages .page").removeClass("active");