68 lines
1.6 KiB
Python
68 lines
1.6 KiB
Python
from django.contrib import admin
|
|
|
|
from attendance.models import (
|
|
AttendanceAnalysisRun,
|
|
AttendanceRecord,
|
|
EmployeeWorkSchedule,
|
|
)
|
|
|
|
|
|
@admin.register(AttendanceAnalysisRun)
|
|
class AttendanceAnalysisRunAdmin(admin.ModelAdmin):
|
|
list_display = (
|
|
"id",
|
|
"employee",
|
|
"period_start",
|
|
"period_end",
|
|
"status",
|
|
"triggered_by",
|
|
"created_at",
|
|
)
|
|
list_filter = ("status", "created_at")
|
|
search_fields = ("employee__email", "employee__first_name", "employee__last_name")
|
|
readonly_fields = ("created_at",)
|
|
|
|
|
|
@admin.register(AttendanceRecord)
|
|
class AttendanceRecordAdmin(admin.ModelAdmin):
|
|
list_display = (
|
|
"employee",
|
|
"date",
|
|
"is_workday",
|
|
"arrival_time",
|
|
"departure_time",
|
|
"work_hours",
|
|
"is_late",
|
|
"is_absent",
|
|
"is_overtime",
|
|
"updated_at",
|
|
)
|
|
list_filter = (
|
|
"is_workday",
|
|
"is_late",
|
|
"is_absent",
|
|
"is_overtime",
|
|
"date",
|
|
)
|
|
search_fields = ("employee__email", "employee__first_name", "employee__last_name")
|
|
readonly_fields = ("updated_at",)
|
|
|
|
|
|
@admin.register(EmployeeWorkSchedule)
|
|
class EmployeeWorkScheduleAdmin(admin.ModelAdmin):
|
|
list_display = (
|
|
"employee",
|
|
"start_time",
|
|
"end_time",
|
|
"expected_hours",
|
|
"is_active",
|
|
"updated_at",
|
|
)
|
|
list_filter = ("is_active",)
|
|
search_fields = (
|
|
"employee__last_name",
|
|
"employee__first_name",
|
|
"employee__email",
|
|
)
|
|
readonly_fields = ("created_at", "updated_at")
|