From 711e8030f4001f6e768945e41d0d6521b321adc4 Mon Sep 17 00:00:00 2001
From: Valentin Rigal <rigal@teklia.com>
Date: Fri, 29 Mar 2024 16:53:46 +0100
Subject: [PATCH] Update admin

---
 arkindex/training/admin.py | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/arkindex/training/admin.py b/arkindex/training/admin.py
index 66f3626575..f8cc278929 100644
--- a/arkindex/training/admin.py
+++ b/arkindex/training/admin.py
@@ -36,13 +36,21 @@ class DatasetSetInLine(admin.StackedInline):
 
 
 class DatasetAdmin(admin.ModelAdmin):
-    list_display = ("name", "corpus", "state")
+    list_display = ("name", "corpus", "state", "unique_elements")
     list_filter = (("state", EnumFieldListFilter), "corpus")
     search_fields = ("name", "description")
-    fields = ("id", "name", "created", "updated", "description", "corpus", "creator", "task")
+    fields = ("id", "name", "created", "updated", "description", "corpus", "creator", "task", "unique_elements")
     readonly_fields = ("id", "created", "updated", "task")
     inlines = [DatasetSetInLine, ]
 
+    def get_form(self, request, obj=None, **kwargs):
+        # Prevent editing the `unique_elements` attribute
+        self.readonly_fields = self.__class__.readonly_fields
+        if obj is not None:
+            self.readonly_fields += ("unique_elements",)
+        form = super().get_form(request, obj=None, **kwargs)
+        return form
+
 
 admin.site.register(Model, ModelAdmin)
 admin.site.register(ModelVersion, ModelVersionAdmin)
-- 
GitLab