38086-vm/hr/forms.py
2026-02-12 15:53:09 +00:00

43 lines
2.4 KiB
Python

from django import forms
from .models import Employee, Attendance
class EmployeeForm(forms.ModelForm):
# ... existing code ...
class Meta:
model = Employee
fields = [
'first_name', 'last_name', 'email', 'phone', 'gender', 'date_of_birth',
'address', 'department', 'job_position', 'hire_date', 'salary',
'status', 'biometric_id', 'user'
]
widgets = {
'first_name': forms.TextInput(attrs={'class': 'form-control', 'placeholder': 'First Name'}),
'last_name': forms.TextInput(attrs={'class': 'form-control', 'placeholder': 'Last Name'}),
'email': forms.EmailInput(attrs={'class': 'form-control', 'placeholder': 'email@example.com'}),
'phone': forms.TextInput(attrs={'class': 'form-control', 'placeholder': '+1234567890'}),
'gender': forms.Select(attrs={'class': 'form-select'}),
'date_of_birth': forms.DateInput(attrs={'class': 'form-control', 'type': 'date'}),
'address': forms.Textarea(attrs={'class': 'form-control', 'rows': 3, 'placeholder': 'Full Address'}),
'department': forms.Select(attrs={'class': 'form-select'}),
'job_position': forms.Select(attrs={'class': 'form-select'}),
'hire_date': forms.DateInput(attrs={'class': 'form-control', 'type': 'date'}),
'salary': forms.NumberInput(attrs={'class': 'form-control', 'step': '0.01'}),
'status': forms.Select(attrs={'class': 'form-select'}),
'biometric_id': forms.NumberInput(attrs={'class': 'form-control', 'placeholder': 'Device User ID'}),
'user': forms.Select(attrs={'class': 'form-select'}),
}
class AttendanceForm(forms.ModelForm):
class Meta:
model = Attendance
fields = ['employee', 'date', 'check_in', 'check_out', 'device', 'notes']
widgets = {
'employee': forms.Select(attrs={'class': 'form-select select2'}),
'date': forms.DateInput(attrs={'class': 'form-control', 'type': 'date'}),
'check_in': forms.TimeInput(attrs={'class': 'form-control', 'type': 'time'}),
'check_out': forms.TimeInput(attrs={'class': 'form-control', 'type': 'time'}),
'device': forms.Select(attrs={'class': 'form-select'}),
'notes': forms.Textarea(attrs={'class': 'form-control', 'rows': 2, 'placeholder': 'Optional notes...'}),
}