From f61ac825ecafc3b8732b8fb04f1bbe1d937e52a4 Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 17 Nov 2021 21:35:15 +0200 Subject: [PATCH] added filter by visitor --- lu_django_1/urls.py | 1 + templates/visit_form.html | 1 - uzdevumi/forms.py | 5 +++++ uzdevumi/views.py | 35 ++++++++++++++++++++++++++++++++++- 4 files changed, 40 insertions(+), 2 deletions(-) diff --git a/lu_django_1/urls.py b/lu_django_1/urls.py index edc11f7..d2e5146 100644 --- a/lu_django_1/urls.py +++ b/lu_django_1/urls.py @@ -22,5 +22,6 @@ urlpatterns = [ path('admin/', admin.site.urls), path('add-visit', uzdevumi.views.add_visit), path('visit/', uzdevumi.views.get_visit, name='get-visit'), + path('filter-visits/visitor', uzdevumi.views.filter_visits_by_visitor), path('', uzdevumi.views.get_all_visits), ] diff --git a/templates/visit_form.html b/templates/visit_form.html index 4d8dfd8..60db2be 100644 --- a/templates/visit_form.html +++ b/templates/visit_form.html @@ -2,7 +2,6 @@ - New visit
diff --git a/uzdevumi/forms.py b/uzdevumi/forms.py index 11355d6..093c237 100644 --- a/uzdevumi/forms.py +++ b/uzdevumi/forms.py @@ -10,3 +10,8 @@ class VisitForm(Form): visitor = CharField() date_time = DateTimeField() reason = CharField() + + +class VisitorNameForm(Form): + + visitor_name = CharField() diff --git a/uzdevumi/views.py b/uzdevumi/views.py index f7a0e37..51463da 100644 --- a/uzdevumi/views.py +++ b/uzdevumi/views.py @@ -1,10 +1,43 @@ from django.shortcuts import render from django.http import HttpResponse -from .forms import VisitForm +from .forms import VisitForm, VisitorNameForm from .models import Visit +def filter_visits_by_visitor(request): + + form = VisitorNameForm(request.POST or None) + + if request.method == 'POST': + + if form.is_valid(): + + visitor_name = form.cleaned_data['visitor_name'] + visits = Visit.objects.filter(visitor=visitor_name) + + context = { + 'visits': visits, + } + + return render( + request, + template_name='visits.html', + context=context, + ) + + context = { + 'form': form, + } + + return render( + request, + template_name='visit_form.html', + context=context, + ) + + + def get_all_visits(request): visits = Visit.objects.all()