from django import forms
from .models import Leave, Holiday
# from .models import Comment
import datetime

class LeaveCreationForm(forms.ModelForm):
	reason = forms.CharField(required=True, widget=forms.Textarea(attrs={'rows': 4, 'cols': 40}))
	startdate = forms.DateField(required=True, widget=forms.DateInput(attrs={'class':'form-control','type':'date'}))
	enddate = forms.DateField(required=True, widget=forms.DateInput(attrs={'class':'form-control','type':'date'}))
	
	class Meta:
		model = Leave
		fields = ['startdate','enddate','leavetype','reason']
		widgets = {'leavetype':forms.Select(attrs={'class':'form-control'})}



	def clean_enddate(self):
		enddate = self.cleaned_data['enddate']
		startdate = self.cleaned_data['startdate']
		today_date = datetime.date.today()

		if (startdate or enddate) < today_date:# both dates must not be in the past
			raise forms.ValidationError("Selected dates are incorrect,please select again")

		elif startdate > enddate:# TRUE -> FUTURE DATE > PAST DATE,FALSE other wise
			raise forms.ValidationError("Selected dates are wrong")

		return enddate


class HolidayForm(forms.ModelForm):
		holiday_date = forms.DateField(required=True, widget=forms.DateInput(attrs={'class':'form-control','type':'date'}))
		holiday_name = forms.CharField(required=True, widget=forms.TextInput(attrs={'class':'form-control'}))
		class Meta:
			model = Holiday
			fields = ['holiday_date', 'holiday_name']	

