from django.utils import timezone
from django import forms
from django.contrib.auth.models import User
from name_extractor.models import Staff
from django.contrib.auth.forms import UserCreationForm

from tempus_dominus.widgets import DatePicker

NOW = timezone.now()
TODAY = NOW.date().strftime('%Y-%m-%d')
ONE_MONTH_BEFORE = (NOW - timezone.timedelta(days=30)).replace(day=NOW.day).date().strftime('%Y-%m-%d')


class UserRegisterForm(UserCreationForm):
    email = forms.EmailField()

    class Meta:
        model = User
        fields = ['username', 'email', 'password1', 'password2']


class StaffRegistrationForm(forms.ModelForm):

    class Meta:
        model = Staff
        fields = ['name', 'department', 'nick_names']


class StaffSheetDateForm(forms.Form):
    start_date = forms.DateField(
        required=True,
        widget=DatePicker(
            options={
                'minDate': '2012-01-01',
                'maxDate': TODAY,
            },
            attrs={
                'append': 'fa fa-calendar',
                'icon_toggle': True,
            }
        ),
        initial=ONE_MONTH_BEFORE,
    )
    end_date = forms.DateField(
        required=True,
        widget=DatePicker(
            options={
                'minDate': '2012-01-01',
                'maxDate': TODAY,
            },
            attrs={
                'append': 'fa fa-calendar',
                'icon_toggle': True,
            }
        ),
        initial=TODAY,
    )