From fc8690b8e095ac4edbbe4e1c8ed0df8496a917a1 Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Thu, 3 Oct 2024 22:05:26 -0700 Subject: [PATCH] Add count to custom fields --- src-ui/messages.xlf | 49 +++++++++---------- .../custom-fields.component.html | 16 +++--- src/documents/serialisers.py | 3 ++ src/documents/views.py | 11 +++++ 4 files changed, 47 insertions(+), 32 deletions(-) diff --git a/src-ui/messages.xlf b/src-ui/messages.xlf index e7a07a868..3570a77c1 100644 --- a/src-ui/messages.xlf +++ b/src-ui/messages.xlf @@ -323,7 +323,7 @@ src/app/components/manage/custom-fields/custom-fields.component.html - 51 + 54 src/app/components/manage/management-list/management-list.component.html @@ -1501,7 +1501,7 @@ src/app/components/manage/custom-fields/custom-fields.component.html - 46 + 48 src/app/components/manage/mail/mail.component.html @@ -2430,7 +2430,7 @@ src/app/components/manage/custom-fields/custom-fields.component.html - 43 + 45 src/app/components/manage/mail/mail.component.html @@ -7487,18 +7487,34 @@ 18 - - Filter Documents + + Filter Documents () src/app/components/manage/custom-fields/custom-fields.component.html - 37 + 38 + + + src/app/components/manage/management-list/management-list.component.html + 85 + + + src/app/components/manage/management-list/management-list.component.html + 85 + + + src/app/components/manage/management-list/management-list.component.html + 85 + + + src/app/components/manage/management-list/management-list.component.html + 85 No fields defined. src/app/components/manage/custom-fields/custom-fields.component.html - 59 + 63 @@ -7818,25 +7834,6 @@ 39 - - Filter Documents () - - src/app/components/manage/management-list/management-list.component.html - 85 - - - src/app/components/manage/management-list/management-list.component.html - 85 - - - src/app/components/manage/management-list/management-list.component.html - 85 - - - src/app/components/manage/management-list/management-list.component.html - 85 - - {VAR_PLURAL, plural, =1 {One } other { total }} 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,)