from django.contrib import admin

from .models import Activity, Asset, Media, Organization, Profile, Species, Task


@admin.register(Organization)
class OrganizationAdmin(admin.ModelAdmin):
    list_display = ("name", "org_type", "county", "total_trees", "survival_rate")
    list_filter = ("org_type", "county")
    search_fields = ("name", "county")


@admin.register(Profile)
class ProfileAdmin(admin.ModelAdmin):
    list_display = ("user", "organization", "role", "manages", "county")
    list_filter = ("role", "organization")


@admin.register(Species)
class SpeciesAdmin(admin.ModelAdmin):
    list_display = ("common_name", "scientific_name", "is_indigenous", "carbon_factor_kg_per_year")
    search_fields = ("common_name", "scientific_name")


class ActivityInline(admin.TabularInline):
    model = Activity
    extra = 0


@admin.register(Asset)
class AssetAdmin(admin.ModelAdmin):
    list_display = ("tag_code", "asset_type", "display_name", "organization", "county", "health_status", "verification_status")
    list_filter = ("asset_type", "verification_status", "health_status", "organization", "county")
    search_fields = ("tag_code", "name")
    inlines = [ActivityInline]


@admin.register(Activity)
class ActivityAdmin(admin.ModelAdmin):
    list_display = ("asset", "activity_type", "health_status", "user", "created_at")
    list_filter = ("activity_type", "health_status")


@admin.register(Task)
class TaskAdmin(admin.ModelAdmin):
    list_display = ("title", "task_type", "status", "organization", "created_at")
    list_filter = ("task_type", "status")


@admin.register(Media)
class MediaAdmin(admin.ModelAdmin):
    list_display = ("asset", "user", "sha256", "created_at")
