# =============================================================
# pieteikumi/admin.py — Admin Panelis Pieteikumiem
# =============================================================

from django.contrib import admin
from .models import Pieteikums
# pieteikumi/admin.py beigās
from .models import Message


@admin.register(Pieteikums)
class PieteikumsAdmin(admin.ModelAdmin):

    list_display  = ('pk', 'nosaukums', 'iesniedzejs', 'tips', 'statuss', 'izveidots')
    list_filter   = ('statuss', 'tips', 'izveidots')
    search_fields = ('nosaukums', 'apraksts', 'iesniedzejs__email', 'iesniedzejs__full_name')
    ordering      = ('-izveidots',)
    list_editable = ('statuss',)     # Mainīt statusu tieši sarakstā!
    readonly_fields = ('izveidots', 'atjaunots', 'iesniedzejs')

    fieldsets = (
        ('Pieteikuma Dati', {
            'fields': ('iesniedzejs', 'nosaukums', 'tips', 'apraksts', 'budzets', 'termins')
        }),
        ('Izskatīšana', {
            'fields': ('statuss', 'admin_komentars')
        }),
        ('Sistēmas Lauki', {
            'fields': ('izveidots', 'atjaunots'),
            'classes': ('collapse',),
        }),
    )
    
@admin.register(Message)
class MessageAdmin(admin.ModelAdmin):
    # Laukus, kurus ieliekam šeit, varēs redzēt sarakstā
    list_display = ('id', 'client', 'sender', 'created_at', 'content_snippet')
    # Šie lauki kļūs par klikšķināmām saitēm uz rediģēšanas formu
    list_display_links = ('id', 'content_snippet')
    # Pievienojam filtru sānā meklēšanai
    list_filter = ('created_at', 'sender', 'client')
    # Pievienojam meklētāju pēc epastiem un satura
    search_fields = ('client__email', 'sender__email', 'content')
    
    # Šis ļauj TEV manuāli IZVEIDOT un REDIĢĒT ziņu
    fieldsets = (
        ('Saziņas dalībnieki', {
            'fields': ('client', 'sender')
        }),
        ('Ziņas saturs', {
            'fields': ('content',)
        }),
    )

    def content_snippet(self, obj):
        return obj.content[:50] + "..." if len(obj.content) > 50 else obj.content
    content_snippet.short_description = 'Ziņa'