from django.db import models from django.forms import ModelForm, DateInput, Form, ChoiceField, RadioSelect from django.core.exceptions import ValidationError from .models import Employee # class EmployeeForm(ModelForm): # class Meta: # model = Employee # fields = '__all__' # widgets = {'firstdate_employment': DateInput(attrs={'type': 'date'}), # 'firstdate_presence': DateInput(attrs={'type': 'date'}),} class DummyForm(ModelForm): class Meta: model = Employee fields = [] class EvaForm(ModelForm): '''this base class provides the required css class for all forms''' required_css_class = 'required' TYPE_CHOICES = {'IN': 'Eintritt', 'CHANGE': 'veraenderung', 'OUT': 'Austritt'} class PersonalForm(EvaForm): # TODO: comment this back in to use implementation of change or exit process # choice = ChoiceField(choices=TYPE_CHOICES.items(), widget=RadioSelect, # label='Welcher Prozess soll angestoßen werden?') class Meta: model = Employee fields = ['firstname', 'lastname', 'department', 'team', 'add_to_wikimediade',] class WorkingForm(EvaForm): # def clean(self): # data = self.cleaned_data # if data['works_in_gs'] and data['desk'] is None: # raise ValidationError('Wer nicht remote arbeitet braucht einen Schreibtisch!') # return data class Meta: model = Employee fields = ['firstdate_employment', 'jobdescription_german', 'jobdescription_english',] widgets = {'firstdate_employment': DateInput(attrs={'type': 'date'}), 'firstdate_presence': DateInput(attrs={'type': 'date'}),} class ITForm(EvaForm): class Meta: model = Employee fields = [ 'laptop', 'framework', 'os', 'keyboard', 'mobile', 'landline', 'comment', 'language', 'accounts', 'lists', 'oldaccounts', 'oldlists', 'rebu2go' ] class OfficeForm(EvaForm): class Meta: model = Employee fields = [ 'transponder', 'special', 'post_office_box' ] class ChangeForm(EvaForm): class Meta: model = Employee fields = [ 'firstdate_employment', 'jobdescription_german', 'jobdescription_english', 'desk', 'comment', 'accounts', 'lists', 'transponder' ] widgets = {'firstdate_employment': DateInput(attrs={'type': 'date'}),}