XH_Digital_Management/application/hrm_mgnt/forms.py

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__'