Consolidated schedule into an events list.

This commit is contained in:
2021-11-14 11:20:57 -06:00
parent cc1421c6e1
commit 1ec7a09620
9 changed files with 85 additions and 48 deletions

View File

@@ -2,5 +2,5 @@ from django.http import HttpResponse
from django.shortcuts import render from django.shortcuts import render
def welcome(request): def welcome(request):
pages = ['schedule', 'teams list', 'venues list', 'players list'] pages = ['events list', 'teams list', 'venues list', 'players list']
return render(request,'home.html',{'pages':pages}) return render(request,'home.html',{'pages':pages})

View File

@@ -1,16 +0,0 @@
{% extends 'base.html' %}{% block title %} {{ title }} {% endblock %}{% block content %}
<h1>{{ title }}</h1>
<ol class="list-group">
{% for event in events %}
<li class="list-group-item fs-6">
<span class="fs-5 fw-bold" style="text-transform: uppercase">{{ event.away_team.name }} vs. {{ event.home_team.name }}</span> <br>
{{ event.start|date:"l, F j, Y g:i A" }} <br>
{{ event.venue.name }} <br>
<a class="btn btn-primary btn-sm" href="{% url 'edit event' event.id%}" role="button">Edit Event Details</a>
<a class="btn btn-primary btn-sm" href="{% url 'edit lineup' event_id=event.id%}" role="button">Edit Lineup</a>
</li>
{% endfor %}
</ol>
{% endblock %}

View File

@@ -6,7 +6,7 @@ from . import views
urlpatterns = [ urlpatterns = [
path('', views.root, name="root"), path('', views.root, name="root"),
path('schedule', views.schedule, name="schedule"), path('list', views.list, name="events list"),
path('edit/<int:id>', views.edit, name="edit event"), path('edit/<int:id>', views.edit, name="edit event"),
path('edit', views.edit, name="edit event"), path('edit', views.edit, name="edit event"),
path('edit', views.edit, name="edit event") path('edit', views.edit, name="edit event")

View File

@@ -8,9 +8,30 @@ from django.http import HttpResponse
def root(request): def root(request):
return redirect('/events/schedule') return redirect('/events/schedule')
def schedule(request): def list(request):
events = Event.objects.all() events = Event.objects.all()
return render(request, 'events/schedule.html', {'title':'Schedule', 'events': events}) context = {
'title': "Events",
'items': [
{
'id': event.id,
'title': f'{event.away_team.name} vs. {event.home_team.name}',
'body':f'{event.start:%a, %b %-d, %-I:%M %p},\n{event.venue.name}',
'buttons':[
{
'label':'Edit',
'href':reverse('edit event', args=[event.id])
},
{
'label': 'Edit Lineup',
'href': reverse('edit lineup', args=[event.id])
}
]
}
for event in events
]
}
return render(request, 'list.html', context)
def edit(request, id=0): def edit(request, id=0):
# if this is a POST request we need to process the form data # if this is a POST request we need to process the form data

View File

@@ -9,15 +9,24 @@ def root(request):
return redirect('/players/list') return redirect('/players/list')
def list(request): def list(request):
players = Player.objects.all() items = Player.objects.all()
return render(request, 'list.html', {'title': "Players", context = {
'title': "Players",
'items': [ 'items': [
{'id':player.id, {'id': item.id,
'title':f"{player.first_name} {player.last_name}", 'title': f"{item.first_name} {item.last_name}",
'subtitle':f"{player.jersey_number}" 'subtitle': f"{item.jersey_number}",
'buttons': [
{
'label': 'Edit',
'href': reverse('edit player', args=[item.id])
} }
for player in players], ]
'edit_url_name': 'edit player'}) }
for item in items]
}
return render(request, 'list.html', context)
def edit(request, id=0): def edit(request, id=0):
# if this is a POST request we need to process the form data # if this is a POST request we need to process the form data

View File

@@ -8,14 +8,23 @@ def root(request):
return redirect('/teams/list') return redirect('/teams/list')
def list(request): def list(request):
teams = Team.objects.all() items = Team.objects.all()
return render(request, 'list.html', {'title': "Players", context = {
'title': "Teams",
'items': [ 'items': [
{'id':team.id, {'id': item.id,
'title':f"{team.name}" 'title': f"{item.name}",
'buttons': [
{
'label': 'Edit',
'href': reverse('edit team', args=[item.id])
} }
for team in teams], ]
'edit_url_name': 'edit team'}) }
for item in items]
}
return render(request, 'list.html', context)
def edit(request, id=0): def edit(request, id=0):
# if this is a POST request we need to process the form data # if this is a POST request we need to process the form data

View File

@@ -20,7 +20,7 @@
<div class="collapse navbar-collapse"> <div class="collapse navbar-collapse">
<ul class="navbar-nav mr-auto"> <ul class="navbar-nav mr-auto">
<li> <li>
<a class="nav-link" href="{% url 'schedule' %}">Schedule</a> <a class="nav-link" href="{% url 'events list' %}">Events</a>
</li> </li>
<li class="nav-item"> <li class="nav-item">
<a class="nav-link" href="{% url 'players list' %}">Players</a> <a class="nav-link" href="{% url 'players list' %}">Players</a>

View File

@@ -7,9 +7,15 @@
<ol class="list-group"> <ol class="list-group">
{% for item in items %} {% for item in items %}
<li class="list-group-item"> <li class="list-group-item">
<span class="fs-5 fw-bold">{{ item.title }}</span> <span class="fs-6">{{ item.subtitle }}</span> <span class="fs-5 fw-bold">{{ item.title }}</span>
<span class="fs-6">{{ item.subtitle }}</span>
{% if item.body %}
<br><span class="fs-6">{{ item.body }}</span>
{% endif %}
<br> <br>
<a class="btn btn-primary btn-sm" href="{% url edit_url_name item.id%}" role="button">Edit</a> {% for button in item.buttons %}
<a class="btn btn-primary btn-sm" href="{{ button.href }}" role="button">{{ button.label }}</a>
{% endfor %}
</li> </li>
{% endfor %} {% endfor %}
</ol> </ol>

View File

@@ -8,14 +8,22 @@ def root(request):
return redirect('/venues/list') return redirect('/venues/list')
def list(request): def list(request):
venues = Venue.objects.all() items = Venue.objects.all()
return render(request, 'list.html', {'title': "Venues", context = {
'title': "Venues",
'items': [ 'items': [
{'id':venue.id, {'id': item.id,
'title':f"{venue.name}" 'title': f"{item.name}",
'buttons': [
{
'label': 'Edit',
'href': reverse('edit venue', args=[item.id])
} }
for venue in venues], ]
'edit_url_name': 'edit venue'}) }
for item in items]
}
return render(request, 'list.html', context)
def edit(request, id=0): def edit(request, id=0):