From 81defd014f7bc8d48ebdd9c213413a704c528cb2 Mon Sep 17 00:00:00 2001 From: Eeshu-Yadav Date: Fri, 26 Dec 2025 19:29:25 +0530 Subject: [PATCH] [change] Remove deprecated UUIDAdmin class #328 Removed the deprecated UUIDAdmin class which was kept for backward compatibility. The CopyableFieldsAdmin class should be used instead with copyable_fields = ('uuid',) to achieve the same functionality. - Removed UUIDAdmin class from openwisp_utils/admin.py - Updated test ProjectAdmin to use CopyableFieldsAdmin directly - Removed UUIDAdmin documentation from admin-utilities.rst Closes #328 --- docs/developer/admin-utilities.rst | 8 -------- openwisp_utils/admin.py | 16 ---------------- tests/test_project/admin.py | 10 ++++++++-- 3 files changed, 8 insertions(+), 26 deletions(-) diff --git a/docs/developer/admin-utilities.rst b/docs/developer/admin-utilities.rst index 957256d9..0ebe6048 100644 --- a/docs/developer/admin-utilities.rst +++ b/docs/developer/admin-utilities.rst @@ -48,14 +48,6 @@ it easy to copy the fields contents. Useful for auto-generated fields such as UUIDs, secret keys, tokens, etc. -``openwisp_utils.admin.UUIDAdmin`` ----------------------------------- - -This class is a subclass of ``CopyableFieldsAdmin`` which sets ``uuid`` as -the only copyable field. This class is kept for backward compatibility and -convenience, since different models of various OpenWISP modules show -``uuid`` as the only copyable field. - ``openwisp_utils.admin.ReceiveUrlAdmin`` ---------------------------------------- diff --git a/openwisp_utils/admin.py b/openwisp_utils/admin.py index bfaba7e2..204b16ea 100644 --- a/openwisp_utils/admin.py +++ b/openwisp_utils/admin.py @@ -134,22 +134,6 @@ class Media: js = ("admin/js/jquery.init.js", "openwisp-utils/js/copyable.js") -class UUIDAdmin(CopyableFieldsAdmin): - """Sets `uuid` as copyable field. - - Subclass of `CopyableFieldsAdmin`. This class is kept for backward - compatibility and convenience, since different models of various - OpenWISP modules show `uuid` as the only copyable field. - """ - - copyable_fields = ("uuid",) - - def uuid(self, obj): - return obj.pk - - uuid.short_description = _("UUID") - - class ReceiveUrlAdmin(ModelAdmin): """Adds a receive_url field. diff --git a/tests/test_project/admin.py b/tests/test_project/admin.py index 3ea8fd49..eed7dc3e 100644 --- a/tests/test_project/admin.py +++ b/tests/test_project/admin.py @@ -4,11 +4,11 @@ from django.utils.translation import gettext_lazy as _ from openwisp_utils.admin import ( AlwaysHasChangedMixin, + CopyableFieldsAdmin, HelpTextStackedInline, ReadOnlyAdmin, ReceiveUrlAdmin, TimeReadonlyAdminMixin, - UUIDAdmin, ) from openwisp_utils.admin_theme.filters import ( AutocompleteFilter, @@ -80,12 +80,18 @@ class OperatorInline(HelpTextStackedInline): @admin.register(Project) -class ProjectAdmin(UUIDAdmin, ReceiveUrlAdmin): +class ProjectAdmin(CopyableFieldsAdmin, ReceiveUrlAdmin): inlines = [OperatorInline] list_display = ("name",) fields = ("uuid", "name", "key", "receive_url") readonly_fields = ("uuid", "receive_url") receive_url_name = "receive_project" + copyable_fields = ("uuid",) + + def uuid(self, obj): + return obj.pk + + uuid.short_description = _("UUID") class ShelfFilter(SimpleInputFilter):