from django.contrib import admin
from import_export.admin import ImportExportModelAdmin

from .models import (Pendaftaran,
                     PosisiPelayanan, CaraMasuk, CaraKeluar, TaskId, LogTaskId, Loket,
                     LogLoket, Antrian, LogAntrian, LogPendaftaran, Icd9, Icd10, AnalisaMasalahKeperawatan, Edukasi,
                     Dirujuk, PemeriksaanLabUmum)


@admin.register(PosisiPelayanan, CaraMasuk, CaraKeluar, TaskId, LogTaskId,
                LogPendaftaran, Loket, LogLoket, Antrian, LogAntrian)
class CommonAdmin(ImportExportModelAdmin):
    pass


@admin.register(AnalisaMasalahKeperawatan)
class AnalisaMasalahKeperawatanAdmin(ImportExportModelAdmin):
    list_display = ('nama', 'catatan', 'created_at')
    search_fields = ('nama', 'catatan')


@admin.register(Edukasi)
class EdukasiAdmin(ImportExportModelAdmin):
    list_display = ('nama', 'catatan', 'created_at')
    search_fields = ('nama', 'catatan')


@admin.register(Dirujuk)
class DirujukAdmin(ImportExportModelAdmin):
    list_display = ('nama', 'catatan', 'created_at')
    search_fields = ('nama', 'catatan')


def make_selesai(modeladmin, request, queryset):
    # Update the status_plan field for each selected record to 'selesai'
    for record in queryset:
        record.status_plan = 'selesai'
        record.save()

make_selesai.short_description = "Change status_plan to selesai"

@admin.register(Pendaftaran)
class PendaftaranAdmin(ImportExportModelAdmin):
    list_display = ('kode', 'pasien', 'status', 'cara_masuk', 'status_plan', 'tindakan', 'dokter', 'created_at',)
    list_editable = ('status', 'status_plan', 'tindakan',)
    search_fields = ('kode', 'pasien__first_name', 'status_plan')
    actions = [make_selesai]


@admin.register(Icd9)
class Icd9Admin(ImportExportModelAdmin):
    list_display = ('kode', 'tindakan', 'catatan', 'created_at')
    search_fields = ('kode', 'tindakan', 'catatan')


@admin.register(Icd10)
class Icd10Admin(ImportExportModelAdmin):
    list_display = ('kode', 'diagnosa', 'catatan', 'created_at')
    search_fields = ('kode', 'diagnosa', 'catatan')
    
@admin.register(PemeriksaanLabUmum)
class PemeriksaanLabUmumAdmin(ImportExportModelAdmin):
    list_display = ('parent_id', 'name','satuan', 'normal_value', 'note','created_at')
    search_fields = ('name','satuan')