"""Time Tracking Django admin registration."""

from __future__ import annotations

from django.contrib import admin

from simorgh.apps.time_tracking.models import TimeEntry


@admin.register(TimeEntry)
class TimeEntryAdmin(admin.ModelAdmin):
    list_display  = ("user", "project", "task", "date", "hours", "is_billable", "is_approved", "tenant")
    list_filter   = ("is_billable", "is_approved", "tenant", "date")
    search_fields = ("user__email", "project__name", "description")
    readonly_fields = ("public_id", "approved_by", "approved_at", "created_at", "updated_at")
    fieldsets = (
        (None, {
            "fields": ("public_id", "tenant", "organization_node", "user", "project", "task"),
        }),
        ("Time", {
            "fields": ("date", "hours", "description", "is_billable"),
        }),
        ("Approval", {
            "fields": ("is_approved", "approved_by", "approved_at"),
        }),
        ("Timestamps", {
            "fields": ("created_at", "updated_at"),
            "classes": ("collapse",),
        }),
    )
