onboard/board/forms.py
2021-07-21 20:58:18 -06:00

92 lines
2.4 KiB
Python

from datetime import datetime
from django import forms
from .models import Employee, LogEntry, Todo
from .regex import process_regex
class EmployeePreCreateForm(forms.Form):
initial_data = forms.CharField(widget=forms.Textarea(attrs = {
'autofocus': True
}))
def filter_onboarding_email(self):
data = process_regex(self.cleaned_data['initial_data'])
try:
hire_date = datetime.strptime(data['hire_date'], '%m/%d/%Y').date()
except ValueError as e:
hire_date = datetime.now().date()
initial_comments = data['initial_comments'] + '\nIT Requests: ' + data['it_requests']
employee = Employee.objects.create(
first_name = data['first_name'],
last_name = data['last_name'],
hire_date = hire_date,
title = data['title'],
department = data['department'],
manager = data['manager'],
initial_comments = initial_comments,
)
return employee
class EmployeeForm(forms.ModelForm):
class Meta:
model = Employee
fields = (
'first_name',
'last_name',
'hire_date',
'title',
'department',
'manager',
'initial_comments',
)
widgets = {
'first_name': forms.TextInput(attrs = {
'autofocus': 'autofocus'
})
}
class EmployeeArchiveForm(forms.ModelForm):
class Meta:
model = Employee
fields = ('archived',)
class LogEntryForm(forms.ModelForm):
class Meta:
model = LogEntry
fields = ('notes',)
widgets = {
'notes': forms.TextInput(attrs = {
'autofocus': 'autofocus'
})
}
class TodoForm(forms.ModelForm):
class Meta:
model = Todo
fields = ('completed', 'description')
widgets = {
'completed': forms.CheckboxInput(attrs = {
'class': 'todo__checkbox',
}),
'description': forms.TextInput(attrs = {
'autofocus': 'autofocus'
})
}
class TodoCreateForm(forms.ModelForm):
class Meta:
model = Todo
fields = ('description',)
widgets = {
'description': forms.TextInput(attrs = {
'autofocus': 'autofocus'
})
}