Skip to content

Commit

Permalink
Merge pull request #159 from vintasoftware/pr/ilikerobots/155
Browse files Browse the repository at this point in the history
Addresses issues in PR #155
  • Loading branch information
filipeximenes authored Aug 13, 2024
2 parents 08be140 + 92c7652 commit bcb92af
Showing 1 changed file with 40 additions and 1 deletion.
41 changes: 40 additions & 1 deletion django_ai_assistant/admin.py
Original file line number Diff line number Diff line change
@@ -1,19 +1,58 @@
from typing import ClassVar, List, Type

from django.contrib import admin
from django.contrib.admin.options import InlineModelAdmin
from django.urls import reverse
from django.utils.safestring import mark_safe

from django_ai_assistant.models import Message, Thread


class MessageInline(admin.TabularInline):
model = Message
extra = 0
fields = ("pk", "message_type", "content", "created_at")
readonly_fields = fields
ordering = ("created_at",)
show_change_link = True

def pk(self, obj):
display_text = "<a href={}>{}</a>".format(
reverse(
f"admin:{Message._meta.app_label}_{Message._meta.model_name}_change", args=(obj.pk,)
),
obj.pk,
)
return mark_safe(display_text) # noqa: S308

def message_type(self, obj):
return obj.message.get("type") if obj.message else None

def content(self, obj):
return obj.message.get("data", {}).get("content") if obj.message else None

def has_add_permission(self, request, obj=None):
return False

def has_delete_permission(self, request, obj=None):
return False

def has_change_permission(self, request, obj=None):
return False


@admin.register(Thread)
class ThreadAdmin(admin.ModelAdmin):
list_display = ("name", "created_at", "created_by", "updated_at")
search_fields = ("name",)
list_filter = ("created_at", "updated_at")
raw_id_fields = ("created_by",)
inlines: ClassVar[List[Type[InlineModelAdmin]]] = [MessageInline]


@admin.register(Message)
class MessageAdmin(admin.ModelAdmin):
list_display = ("id", "thread", "created_at", "created_at")
list_display = ("id", "thread", "created_at")
search_fields = ("thread__name", "message")
list_filter = ("created_at",)
raw_id_fields = ("thread",)

0 comments on commit bcb92af

Please sign in to comment.