diff --git a/src-ui/src/app/components/manage/custom-fields/custom-fields.component.html b/src-ui/src/app/components/manage/custom-fields/custom-fields.component.html
index 8127e4f89..8439cd1a7 100644
--- a/src-ui/src/app/components/manage/custom-fields/custom-fields.component.html
+++ b/src-ui/src/app/components/manage/custom-fields/custom-fields.component.html
@@ -34,7 +34,9 @@
-
+ @if (field.document_count > 0) {
+
+ }
@@ -46,11 +48,13 @@
Delete
-
-
-
+ @if (field.document_count > 0) {
+
+
+
+ }
diff --git a/src/documents/serialisers.py b/src/documents/serialisers.py
index 30f3dd26d..f326b4eee 100644
--- a/src/documents/serialisers.py
+++ b/src/documents/serialisers.py
@@ -494,6 +494,8 @@ class CustomFieldSerializer(serializers.ModelSerializer):
read_only=False,
)
+ document_count = serializers.IntegerField(read_only=True)
+
class Meta:
model = CustomField
fields = [
@@ -501,6 +503,7 @@ class CustomFieldSerializer(serializers.ModelSerializer):
"name",
"data_type",
"extra_data",
+ "document_count",
]
def validate(self, attrs):
diff --git a/src/documents/views.py b/src/documents/views.py
index c870c15b5..9268c2e47 100644
--- a/src/documents/views.py
+++ b/src/documents/views.py
@@ -1897,6 +1897,17 @@ class CustomFieldViewSet(ModelViewSet):
queryset = CustomField.objects.all().order_by("-created")
+ def get_queryset(self):
+ return (
+ super()
+ .get_queryset()
+ .annotate(
+ document_count=Count(
+ "fields",
+ ),
+ )
+ )
+
class SystemStatusView(PassUserMixin):
permission_classes = (IsAuthenticated,)