diff --git a/billard/templates/billard/base.html b/billard/templates/billard/base.html
index c1abfef..337f54b 100644
--- a/billard/templates/billard/base.html
+++ b/billard/templates/billard/base.html
@@ -23,13 +23,11 @@
- Billard
+ Billard
- Tische
- - Über
- - Kontakt
{% if user.is_authenticated %}
- Abmelden
{% else %}
diff --git a/billard/views.py b/billard/views.py
index 864a5e9..0bc8228 100644
--- a/billard/views.py
+++ b/billard/views.py
@@ -1,10 +1,11 @@
from billard.serializers import *
from .models import LocationData
from rest_framework import viewsets
-from django.shortcuts import render
+from django.shortcuts import render, redirect
from django.views import generic
from django.views.generic.detail import DetailView
from django.contrib.auth.decorators import login_required
+from django.db.models import Min
class ClientViewSet(viewsets.ModelViewSet):
@@ -37,17 +38,28 @@ class LocationDataDetailView(DetailView):
@login_required
def index(request):
- loc = 1
- if request.POST:
+ if request.method == 'GET':
+ min_loc = Location.objects.filter(users__id=request.user.id).aggregate(Min('id'))['id__min']
+ loc = None
+ if 'loc' in request.GET:
+ loc = request.GET['loc']
+ if not Location.objects.filter(users__id=request.user.id).filter(id=loc).exists():
+ resp = redirect('carom_index')
+ resp['Location'] += '?loc={}'.format(str(min_loc))
+ return resp
+ if loc is None:
+ loc = min_loc
+ locations = Location.objects.filter(users__id=request.user.id).order_by('code')
+ clients = Client.objects.filter(location_id=loc).order_by('id')
+ context = {
+ 'range': range(1, 3),
+ 'locations': locations,
+ 'clients': clients,
+ 'location_id': int(loc),
+ }
+ return render(request, 'billard/index.html', context=context)
+ if request.method == 'POST':
loc = request.POST['location-selector']
-
- locations = Location.objects.order_by('code')
- clients = Client.objects.filter(location_id=loc).order_by('id')
-
- context = {
- 'range': range(1, 3),
- 'locations': locations,
- 'clients': clients,
- 'location_id': int(loc),
- }
- return render(request, 'billard/index.html', context=context)
+ resp = redirect('carom_index')
+ resp['Location'] += '?loc={}'.format(str(loc))
+ return resp