Venues UI · Tabs
Split the venues ui modal into tabs. Added section into new tab for waters against the venue.
This commit is contained in:
parent
ab17d8ded2
commit
ea1bdda8c2
@ -2,7 +2,7 @@
|
||||
|
||||
from django.contrib import admin
|
||||
|
||||
from .models import Venue
|
||||
from .models import Venue, Waters
|
||||
# from .models import Member, Team, Section
|
||||
|
||||
|
||||
@ -10,6 +10,10 @@ from .models import Venue
|
||||
class VenueAdmin(admin.ModelAdmin):
|
||||
"""Admin model for the Venue model."""
|
||||
|
||||
@admin.register(Waters)
|
||||
class WatersAdmin(admin.ModelAdmin):
|
||||
"""Admin model for the Waters model"""
|
||||
|
||||
|
||||
|
||||
# @admin.register(Peg)
|
||||
|
@ -2,7 +2,7 @@
|
||||
{% load static %}
|
||||
|
||||
{% block title %}
|
||||
Venues and Waters |
|
||||
Venues |
|
||||
{% endblock title %}
|
||||
|
||||
{% block style %}
|
||||
@ -25,15 +25,19 @@
|
||||
<button type="button" data-bs-toggle="dropdown" class="btn btn-outline-company border-secondary-subtle">
|
||||
<i class="bi bi-sort-up"></i>
|
||||
</button>
|
||||
<input type="search" name="search" id="search" class="form-control border-secondary-subtle shadow-none" placeholder="Search Venues and Waters">
|
||||
<input type="search" name="search" id="search" class="form-control border-secondary-subtle shadow-none" placeholder="Search Venues">
|
||||
<button type="button" class="btn btn-outline-company border-secondary-subtle rounded-end" id="searchButton"><i class="bi bi-search"></i></button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-3 col-md-4">
|
||||
<div class="input-group d-flex justify-content-md-end">
|
||||
<button class="btn border-secondary-subtle btn-outline-company me-4 rounded-end" id="addVenue" data-bs-toggle="modal" data-bs-target="#venueModal" data-bs-toggle="tooltip" data-bs-title="Add Venues and Waters" data-bs-custom-class="light-tooltip">
|
||||
<button class="btn border-secondary-subtle btn-outline-company" id="addVenue" data-bs-toggle="modal" data-bs-target="#venueModal" data-bs-toggle="tooltip" data-bs-title="Add Venue" data-bs-custom-class="light-tooltip">
|
||||
<i class="bi bi-plus-lg"></i>
|
||||
</button>
|
||||
<button class="btn border-secondary-subtle btn-outline-company me-4 rounded-end" id="importVenue" data-bs-toggle="tooltip" data-bs-title="Import Venue" data-bs-custom-class="light-tooltip">
|
||||
<i class="bi bi-upload"></i>
|
||||
</button>
|
||||
|
||||
<button class="btn border-secondary-subtle btn-outline-company rounded-start" id="ContractView" data-bs-toggle="tooltip" data-bs-title="List View" data-bs-custom-class="light-tooltip">
|
||||
<i class="bi bi-list-task"></i>
|
||||
</button>
|
||||
@ -52,32 +56,6 @@
|
||||
</div>
|
||||
|
||||
<div class="m-4 mt-0 row">
|
||||
|
||||
<!-- <div class="col-xl-3 col-lg-4 col-sm-6 mb-4">
|
||||
<div class="card w-100 h-100 fluid-hover-zoom shadow-sm md-shadow-on-hover overflow-hidden">
|
||||
<div class="card-badge-container">
|
||||
<div class="card-badge"></div>
|
||||
</div>
|
||||
<div class="card-body d-flex">
|
||||
<div class="d-flex flex-column">
|
||||
<h5 class="card-title text-company mb-0">Generic Location Name</h5>
|
||||
<div class="fw-bold mb-3">
|
||||
<p class="mb-0">Private</p>
|
||||
</div>
|
||||
<div class="text-body-secondary mb-3">
|
||||
<p class="mb-0">4 Branshaw Grove</p>
|
||||
<p class="mb-0">Newquay, Cornwall</p>
|
||||
<p class="mb-0">TR7 1LN</p>
|
||||
</div>
|
||||
<div class="text-body-secondary mb-3">
|
||||
<p class="mb-0">07796 081958</p>
|
||||
<p class="mb-0">branshaw.grove@mail.co.uk</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div> -->
|
||||
|
||||
{% for venue in venues %}
|
||||
<div class="col-xl-3 col-lg-4 col-sm-6 mb-4">
|
||||
<div class="card w-100 h-100 fluid-hover-zoom shadow-sm md-shadow-on-hover overflow-hidden">
|
||||
@ -109,67 +87,134 @@
|
||||
|
||||
<div id="venueModal" class="modal fade">
|
||||
<div class="modal-dialog modal-dialog-centered">
|
||||
<div class="modal-content overflow-hidden">
|
||||
<div class="modal-body p-0">
|
||||
<div class="modal-content overflow-hidden rounded-4">
|
||||
<div class="modal-body border-bottom-0 p-0">
|
||||
<div class="card-badge-container">
|
||||
<div class="card-badge"></div>
|
||||
</div>
|
||||
<div class="p-3">
|
||||
<h5 class="card-title text-company mb-4">New Venue and Waters</h5>
|
||||
<div class="row g-3 align-items-center mb-3">
|
||||
<div class="col-6">
|
||||
<label for="" class="form-label">Name</label>
|
||||
<input type="text" class="form-control">
|
||||
<div class="p-4">
|
||||
<h4 class="card-title text-company fw-bold mb-4">New Venue</h4>
|
||||
<ul id="newVenueTabBtns" class="nav nav-pills mb-4 border" role="tablist">
|
||||
<li class="nav-item" role="presentation">
|
||||
<button id="newVenueDetailsTabBtn" class="nav-link 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" 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" 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="newVenueSocialsTabBtn" class="nav-link" data-bs-toggle="pill" data-bs-target="#newVenueSocialsTab" type="button" role="tab" aria-controls="newVenueSocialsTab" aria-selected="false">Socials</button>
|
||||
</li>
|
||||
<li class="nav-item" role="presentation">
|
||||
<button id="newVenueWatersTabBtn" class="nav-link" data-bs-toggle="pill" data-bs-target="#newVenueWatersTab" type="button" role="tab" aria-controls="newVenueWatersTab" aria-selected="false">Waters</button>
|
||||
</li>
|
||||
</ul>
|
||||
<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-center mb-3">
|
||||
<div class="col-12">
|
||||
<label for="venueName" class="form-label">Name</label>
|
||||
<input name="venueName" id="venueName" type="text" class="form-control" placeholder="Venue and Waters">
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<label for="venueType" class="form-label">Type</label>
|
||||
<select name="venueType" id="venueType" class="form-select">
|
||||
<option value="0">Fishery</option>
|
||||
<option value="1">Club</option>
|
||||
<option value="2">Private</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<label for="venueDescription" class="form-label">Description</label>
|
||||
<textarea name="venueDescription" id="venueDescription" type="text" class="form-control" rows="3" placeholder="A brief description of the Venues and Waters ..."></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<label for="" class="form-label">Type</label>
|
||||
<select name="" id="" class="form-select">
|
||||
<option value="-1">placeholder</option>
|
||||
</select>
|
||||
<div id="newVenueAddressTab" class="tab-pane fade" role="tabpanel" aria-labelledby="newVenueAddressTabBtn" tabindex="0">
|
||||
<div class="mb-3">
|
||||
<label for="venueStreetAddress" class="form-label">Street Address</label>
|
||||
<input name="venueStreetAddress" id="venueStreetAddress" type="text" class="form-control" placeholder="Wharncliffe Rd">
|
||||
</div>
|
||||
<div class="row g-4 align-items-center mb-3">
|
||||
<div class="col-6">
|
||||
<label for="venueCity" class="form-label">City/Town</label>
|
||||
<input name="venueCity" id="venueCity" type="text" class="form-control" placeholder="Ilkeston">
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<label for="venueProvence" class="form-label">Provence</label>
|
||||
<input name="venueProvence" id="venueProvence" type="text" class="form-control" placeholder="Derbyshire">
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<label for="venuePostCode" class="form-label">Postal Code</label>
|
||||
<input name="venuePostCode" id="venuePostCode" type="text" class="form-control" placeholder="DE7 5GF">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<label for="" class="form-label">Description</label>
|
||||
<textarea type="text" class="form-control" rows="3"></textarea>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="mb-3">
|
||||
<label for="" class="form-label">Street Address</label>
|
||||
<input type="text" class="form-control">
|
||||
</div>
|
||||
<div class="row g-3 align-items-center mb-3">
|
||||
<div class="col-6">
|
||||
<label for="" class="form-label">City/Town</label>
|
||||
<input type="text" class="form-control">
|
||||
<div id="newVenueContactTab" class="tab-pane fade" role="tabpanel" aria-labelledby="newVenueContactTabBtn" tabindex="0">
|
||||
<div class="row g-4 align-items-center">
|
||||
<div class="col-6">
|
||||
<label for="venuePhone" class="form-label">Phone Number</label>
|
||||
<input name="venuePhone" id="venuePhone" type="tel" class="form-control" placeholder="0343 507 7006">
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<label for="venueEmail" class="form-label">Email Address</label>
|
||||
<input name="venueEmail" id="venueEmail" type="email" class="form-control" placeholder="admin@anglingtrust.net">
|
||||
</div>
|
||||
<div class="col-12">
|
||||
<label for="venueWebsite" class="form-label">Website Address</label>
|
||||
<input name="venueWebsite" id="venueWebsite" type="url" class="form-control" placeholder="https://anglingtrust.net/">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<label for="" class="form-label">Provence</label>
|
||||
<input type="text" class="form-control">
|
||||
<div id="newVenueSocialsTab" class="tab-pane fade" role="tabpanel" aria-labelledby="newVenueSocialsTabBtn" tabindex="0">
|
||||
<div class="row g-4 align-items-center">
|
||||
<div class="col-12">
|
||||
<label for="venueTwitter" class="form-label">Twitter Link</label>
|
||||
<input name="venueTwitter" id="venueTwitter" type="url" class="form-control" placeholder="https://anglingtrust.net/">
|
||||
</div>
|
||||
<div class="col-12">
|
||||
<label for="venueFacebook" class="form-label">Facebook Link</label>
|
||||
<input name="venueFacebook" id="venueFacebook" type="url" class="form-control" placeholder="https://anglingtrust.net/">
|
||||
</div>
|
||||
<div class="col-12">
|
||||
<label for="venueInstagram" class="form-label">Instagram Link</label>
|
||||
<input name="venueInstagram" id="venueInstagram" type="url" class="form-control" placeholder="https://anglingtrust.net/">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<label for="" class="form-label">Postal Code</label>
|
||||
<input type="text" class="form-control">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row g-3 align-items-center">
|
||||
<div class="col-6">
|
||||
<label for="" class="form-label">Phone Number</label>
|
||||
<input type="tel" class="form-control">
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<label for="" class="form-label">Email Address</label>
|
||||
<input type="email" class="form-control">
|
||||
</div>
|
||||
<div class="col-12">
|
||||
<label for="" class="form-label">Website Address</label>
|
||||
<input type="url" class="form-control">
|
||||
<div id="newVenueWatersTab" class="tab-pane fade" role="tabpanel" aria-labelledby="newVenueWatersTabBtn" tabindex="0">
|
||||
<div class="p-3 pt-0 d-flex justify-content-between align-items-center border-bottom">
|
||||
<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-group list-group-flush overflow-y-auto" style="max-height: 450px;">
|
||||
<li class="list-group-item d-flex justify-content-between align-items-start">
|
||||
<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-auto">1 · 36</span>
|
||||
<button class="btn btn-outline-secondary small rounded-4">
|
||||
<i class="bi bi-pencil-fill"></i>
|
||||
</button>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button class="btn btn-secondary px-3" data-dismiss="modal">Cancel</button>
|
||||
<button class="btn btn-company" data-dismiss="modal">Save New</button>
|
||||
<div class="modal-footer border-top-0 p-4 pt-2">
|
||||
<button class="btn btn-secondary px-4 me-3 btn-facing-left" data-bs-dismiss="modal">Cancel</button>
|
||||
<button class="btn btn-company btn-facing-right">Save New</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -105,6 +105,7 @@
|
||||
|
||||
.btn-outline-company {
|
||||
border: 1px solid #04385c;
|
||||
color: #04385c;
|
||||
}
|
||||
|
||||
.btn-outline-company:hover {
|
||||
|
13
src/static/js/mainapp/venues.js
Normal file
13
src/static/js/mainapp/venues.js
Normal file
@ -0,0 +1,13 @@
|
||||
function getWaters(venueID) {
|
||||
$.ajax({
|
||||
url: `/venues/get-waters/${venueID}`,
|
||||
type: "GET",
|
||||
"dataType": "json",
|
||||
success: function (data) {
|
||||
alert(JSON.stringify(data));
|
||||
},
|
||||
error: function (error) {
|
||||
alert("error: " + error);
|
||||
}
|
||||
});
|
||||
}
|
@ -122,4 +122,37 @@
|
||||
transform: rotate(45deg);
|
||||
-webkit-transform: rotate(45deg);
|
||||
}
|
||||
}
|
||||
|
||||
#newVenueTabBtns {
|
||||
|
||||
border-radius: 50rem;
|
||||
overflow: hidden;
|
||||
width: fit-content;
|
||||
|
||||
.nav-item > .nav-link {
|
||||
border-radius: 1rem !important;
|
||||
|
||||
color: #04385c;
|
||||
|
||||
&.active {
|
||||
color: white;
|
||||
background-color: #04385c;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.btn-facing-left {
|
||||
border-top-left-radius: 1.2rem !important;
|
||||
border-bottom-left-radius: 1.2rem !important;
|
||||
border-top-right-radius: 0.8rem !important;
|
||||
border-bottom-right-radius: 0.8rem !important;
|
||||
}
|
||||
|
||||
.btn-facing-right {
|
||||
border-top-left-radius: 0.8rem !important;
|
||||
border-bottom-left-radius: 0.8rem !important;
|
||||
border-top-right-radius: 1.2rem !important;
|
||||
border-bottom-right-radius: 1.2rem !important;
|
||||
}
|
@ -72,7 +72,7 @@
|
||||
</button>
|
||||
</aside>
|
||||
<div class="flex-grow-1 d-flex flex-column" id="webContent">
|
||||
<div class="bg-body-secondary shadow-sm p-3 align-items-center" id="pageHeader" style="display: flex;">
|
||||
<div class="bg-body-secondary shadow-sm p-3 align-items-center" id="pageHeader" style="display: none;"> <!-- style="display: flex;" -->
|
||||
<h1 class="h2 mb-0" id="headerTitle"></h1>
|
||||
<div class="ms-auto">
|
||||
{% block header_buttons %}
|
||||
|
Loading…
x
Reference in New Issue
Block a user