From 5f47fc616f5f3738c69d7c85f139d766f3bcebb4 Mon Sep 17 00:00:00 2001
From: Jacek Lebioda <jacek.lebioda.001@student.uni.lu>
Date: Wed, 1 Feb 2017 14:45:39 +0100
Subject: [PATCH] Introducing date fields

---
 smash/web/forms.py | 28 +++++++++++++++++++++++++++-
 smash/web/views.py |  3 ++-
 2 files changed, 29 insertions(+), 2 deletions(-)

diff --git a/smash/web/forms.py b/smash/web/forms.py
index dc593518..454cb6ac 100644
--- a/smash/web/forms.py
+++ b/smash/web/forms.py
@@ -1,12 +1,21 @@
 from django import forms
 from django.forms import ModelForm
 from .models import *
+from datetime import datetime
 
 """
-Possibl redundancy, but if need arises, contents of forms can be easily customized
+Possible redundancy, but if need arises, contents of forms can be easily customized
 """
 
+CURRENT_YEAR = datetime.now().year
+YEAR_CHOICES=tuple(range(CURRENT_YEAR,CURRENT_YEAR - 120, -1))
+
+
 class SubjectAddForm(ModelForm):
+    date_born = forms.DateField(label='Date of birth',
+        widget=forms.SelectDateWidget(years=YEAR_CHOICES)
+    )
+
     class Meta:
         model = Subject
         fields = '__all__'
@@ -19,6 +28,10 @@ class SubjectDetailForm(ModelForm):
 
 
 class SubjectEditForm(ModelForm):
+    date_born = forms.DateField(label='Date of birth',
+        widget=forms.SelectDateWidget(years=YEAR_CHOICES)
+    )
+
     class Meta:
         model = Subject
         fields = '__all__'
@@ -54,11 +67,24 @@ class AppointmentAddForm(ModelForm):
         exclude = ['is_finished']
 
 class VisitDetailForm(ModelForm):
+    datetime_begin = forms.DateField(label="Visit begins on",
+        widget=forms.SelectDateWidget(years=YEAR_CHOICES)
+    )
+    datetime_end = forms.DateField(label="Visit ends on",
+        widget=forms.SelectDateWidget(years=YEAR_CHOICES)
+    )
+
     class Meta:
         model = Visit
         exclude = ['is_finished']
 
 class VisitAddForm(ModelForm):
+    datetime_begin = forms.DateField(label="Visit begins on",
+        widget=forms.SelectDateWidget(years=YEAR_CHOICES)
+    )
+    datetime_end = forms.DateField(label="Visit ends on",
+        widget=forms.SelectDateWidget(years=YEAR_CHOICES)
+    )
     class Meta:
         model = Visit
         exclude = ['is_finished']
diff --git a/smash/web/views.py b/smash/web/views.py
index bb4b1a28..375fa71a 100644
--- a/smash/web/views.py
+++ b/smash/web/views.py
@@ -8,6 +8,7 @@ from .auth import * # Own wrapper for django logging in/out
 from django.forms import modelformset_factory
 from django.shortcuts import render
 import collections
+import datetime
 
 def index(request):
 	if request.user.is_authenticated():
@@ -229,7 +230,7 @@ def mail_templates(request):
 
 def assignments(request):
 	planning_list = Appointment.objects.none()
-	approaching_list = Appointment.objects.filter(datetime_when__gt = datetime.datetime.now())
+	approaching_list = Appointment.objects.filter(datetime_when__gt=datetime.datetime.now())
 
 	context = {
 		'planning_list': planning_list,
-- 
GitLab