# -*- coding: utf-8 -*-
from django.contrib import admin
from .models import PlaylistTemplate, Playlist, PlaylistItem, PlaylistExecution, PlaylistConflict


@admin.register(PlaylistTemplate)
class PlaylistTemplateAdmin(admin.ModelAdmin):
    list_display = ('name', 'template_type', 'duration_minutes', 'is_active')
    list_filter = ('template_type', 'is_active')
    search_fields = ('name', 'description')
    readonly_fields = ('created_at', 'updated_at')


@admin.register(Playlist)
class PlaylistAdmin(admin.ModelAdmin):
    list_display = ('name', 'channel', 'template', 'status', 'start_time', 'end_time')
    list_filter = ('status', 'start_time', 'end_time')
    search_fields = ('name', 'channel__name', 'template__name')
    readonly_fields = ('created_at', 'updated_at')


@admin.register(PlaylistItem)
class PlaylistItemAdmin(admin.ModelAdmin):
    list_display = ('playlist', 'name', 'item_type', 'order', 'duration', 'is_mandatory')
    list_filter = ('item_type', 'is_mandatory')
    search_fields = ('playlist__name', 'name')
    readonly_fields = ('created_at', 'updated_at')


@admin.register(PlaylistExecution)
class PlaylistExecutionAdmin(admin.ModelAdmin):
    list_display = ('playlist', 'status', 'started_at', 'completed_at', 'actual_duration')
    list_filter = ('status', 'started_at')
    search_fields = ('playlist__name', 'status')
    readonly_fields = ('created_at', 'updated_at')


@admin.register(PlaylistConflict)
class PlaylistConflictAdmin(admin.ModelAdmin):
    list_display = ('playlist_a', 'playlist_b', 'conflict_type', 'severity', 'is_resolved')
    list_filter = ('conflict_type', 'severity', 'is_resolved')
    search_fields = ('playlist_a__name', 'playlist_b__name')
    readonly_fields = ('created_at', 'updated_at')
