119 lines
4.2 KiB
Python
119 lines
4.2 KiB
Python
from django import forms
|
|
|
|
from common.forms import DepartmentSelectionForm
|
|
from .models import *
|
|
|
|
|
|
class EmployeeInformationForm(forms.ModelForm):
|
|
class Meta:
|
|
model = EmployeeInformation
|
|
fields = [field.name for field in EmployeeInformation._meta.fields if
|
|
field.name not in ['resignation_type', 'resignation_reason', 'resignation_date']]
|
|
widgets = {
|
|
'birthday': forms.DateInput(attrs={'type': 'date'}),
|
|
'entry_date': forms.DateInput(attrs={'type': 'date'}),
|
|
'regularization_date': forms.DateInput(attrs={'type': 'date'}),
|
|
'departure_date': forms.DateInput(attrs={'type': 'date'}),
|
|
'contract_end_date': forms.DateInput(attrs={'type': 'date'}),
|
|
}
|
|
|
|
|
|
class EmployeeInformationAddForm(DepartmentSelectionForm, forms.ModelForm):
|
|
class Meta:
|
|
model = EmployeeInformation
|
|
fields = [field.name for field in EmployeeInformation._meta.fields if
|
|
field.name not in ['resignation_type', 'resignation_reason', 'resignation_date']]
|
|
widgets = {
|
|
'birthday': forms.DateInput(attrs={'type': 'date'}),
|
|
'entry_date': forms.DateInput(attrs={'type': 'date'}),
|
|
'regularization_date': forms.DateInput(attrs={'type': 'date'}),
|
|
'departure_date': forms.DateInput(attrs={'type': 'date'}),
|
|
'contract_end_date': forms.DateInput(attrs={'type': 'date'}),
|
|
'resignation_date': forms.DateInput(attrs={'type': 'date'}),
|
|
'base_salary': forms.NumberInput()
|
|
}
|
|
|
|
|
|
class EmployeeInformationEditForm(DepartmentSelectionForm, forms.ModelForm):
|
|
class Meta:
|
|
model = EmployeeInformation
|
|
fields = '__all__'
|
|
widgets = {
|
|
'birthday': forms.DateInput(attrs={'type': 'date'}),
|
|
'entry_date': forms.DateInput(attrs={'type': 'date'}),
|
|
'regularization_date': forms.DateInput(attrs={'type': 'date'}),
|
|
'departure_date': forms.DateInput(attrs={'type': 'date'}),
|
|
'contract_end_date': forms.DateInput(attrs={'type': 'date'}),
|
|
'resignation_date': forms.DateInput(attrs={'type': 'date'}),
|
|
'base_salary': forms.NumberInput()
|
|
}
|
|
|
|
|
|
class EmployeeAttendanceRecordForm(forms.ModelForm):
|
|
class Meta:
|
|
model = EmployeeAttendanceRecord
|
|
fields = '__all__'
|
|
widgets = {
|
|
'year_month': forms.DateInput(attrs={'type': 'month'}),
|
|
'late': forms.NumberInput(),
|
|
'early_leave': forms.NumberInput(),
|
|
'absenteeism': forms.NumberInput(),
|
|
'annual_leave': forms.NumberInput(),
|
|
'personal_leave': forms.NumberInput(),
|
|
'sick_leave': forms.NumberInput(),
|
|
'other_leave_details_id': forms.NumberInput(),
|
|
}
|
|
|
|
|
|
class OtherLeaveDetailsForm(forms.ModelForm):
|
|
class Meta:
|
|
model = OtherLeaveDetails
|
|
fields = '__all__'
|
|
widgets = {
|
|
'description': forms.Textarea(attrs={'rows': 3}),
|
|
}
|
|
|
|
|
|
class AnnualLeaveRecordForm(forms.ModelForm):
|
|
class Meta:
|
|
model = AnnualLeaveRecord
|
|
fields = '__all__'
|
|
widgets = {
|
|
'year': forms.NumberInput(),
|
|
'total_annual_leave': forms.NumberInput(),
|
|
'used_annual_leave': forms.NumberInput(),
|
|
'remaining_annual_leave': forms.NumberInput(),
|
|
}
|
|
|
|
|
|
class RankForm(forms.ModelForm):
|
|
class Meta:
|
|
model = Rank
|
|
fields = '__all__'
|
|
widgets = {
|
|
'rank_name': forms.TextInput(attrs={'class': 'form-control'}),
|
|
'rank_description': forms.Textarea(attrs={'class': 'form-control', 'rows': 3}),
|
|
}
|
|
|
|
|
|
class PositionForm(forms.ModelForm):
|
|
class Meta:
|
|
model = Position
|
|
fields = '__all__'
|
|
widgets = {
|
|
'position_name': forms.TextInput(attrs={'class': 'form-control'}),
|
|
'position_description': forms.Textarea(attrs={'class': 'form-control', 'rows': 3}),
|
|
}
|
|
|
|
|
|
class PerformanceEvaluationForm(forms.ModelForm):
|
|
class Meta:
|
|
model = PerformanceEvaluation
|
|
fields = '__all__'
|
|
|
|
|
|
class PerformanceEvaluationAddForm(forms.ModelForm):
|
|
class Meta:
|
|
model = PerformanceEvaluation
|
|
fields = '__all__'
|