From 350fe5afc1712ea500584055e73df538c62b7530 Mon Sep 17 00:00:00 2001 From: Janne Forsman Date: Mon, 27 Jan 2025 14:03:49 +0200 Subject: [PATCH] feat: Add devicetype code and legacy code to admin search to all models that have device type Refs:LIIK-717 --- city_furniture/admin/furniture_signpost.py | 2 ++ traffic_control/admin/additional_sign.py | 1 + traffic_control/admin/barrier.py | 1 + traffic_control/admin/road_marking.py | 1 + traffic_control/admin/signpost.py | 1 + traffic_control/admin/traffic_light.py | 1 + traffic_control/admin/traffic_sign.py | 1 + traffic_control/mixins/admin.py | 7 ++----- 8 files changed, 10 insertions(+), 5 deletions(-) diff --git a/city_furniture/admin/furniture_signpost.py b/city_furniture/admin/furniture_signpost.py index 758e0f77..da956144 100644 --- a/city_furniture/admin/furniture_signpost.py +++ b/city_furniture/admin/furniture_signpost.py @@ -182,6 +182,7 @@ class FurnitureSignpostPlanAdmin( raw_id_fields = ("plan", "mount_plan") list_filter = AbstractFurnitureSignpostAdmin.list_filter inlines = (FurnitureSignpostPlanFileInline,) + search_fields = ("device_type__code",) @admin.register(FurnitureSignpostReal) @@ -228,6 +229,7 @@ class FurnitureSignpostRealAdmin( "location_name_fi", "location_name_en", "location_name_sw", + "device_type__code", ) inlines = (FurnitureSignpostRealFileInline, FurnitureSignpostRealOperationInline) initial_values = { diff --git a/traffic_control/admin/additional_sign.py b/traffic_control/admin/additional_sign.py index 5a1f7429..b8fb900b 100644 --- a/traffic_control/admin/additional_sign.py +++ b/traffic_control/admin/additional_sign.py @@ -205,6 +205,7 @@ def get_queryset(self, request): @admin.register(AdditionalSignReal) class AdditionalSignRealAdmin( + DeviceTypeSearchAdminMixin, ResponsibleEntityPermissionAdminMixin, DeviceComparisonAdminMixin, EnumChoiceValueDisplayAdminMixin, diff --git a/traffic_control/admin/barrier.py b/traffic_control/admin/barrier.py index 53a7cb50..4118203c 100644 --- a/traffic_control/admin/barrier.py +++ b/traffic_control/admin/barrier.py @@ -192,6 +192,7 @@ class BarrierRealOperationInline(TrafficControlOperationInlineBase): @admin.register(BarrierReal) class BarrierRealAdmin( + DeviceTypeSearchAdminMixin, DeviceComparisonAdminMixin, ResponsibleEntityPermissionAdminMixin, EnumChoiceValueDisplayAdminMixin, diff --git a/traffic_control/admin/road_marking.py b/traffic_control/admin/road_marking.py index dc925d02..e8b0785f 100644 --- a/traffic_control/admin/road_marking.py +++ b/traffic_control/admin/road_marking.py @@ -217,6 +217,7 @@ class RoadMarkingRealOperationInline(TrafficControlOperationInlineBase): @admin.register(RoadMarkingReal) class RoadMarkingRealAdmin( + DeviceTypeSearchAdminMixin, DeviceComparisonAdminMixin, ResponsibleEntityPermissionAdminMixin, EnumChoiceValueDisplayAdminMixin, diff --git a/traffic_control/admin/signpost.py b/traffic_control/admin/signpost.py index 3846142b..64f56374 100644 --- a/traffic_control/admin/signpost.py +++ b/traffic_control/admin/signpost.py @@ -196,6 +196,7 @@ class SignpostRealOperationInline(TrafficControlOperationInlineBase): @admin.register(SignpostReal) class SignpostRealAdmin( + DeviceTypeSearchAdminMixin, DeviceComparisonAdminMixin, ResponsibleEntityPermissionAdminMixin, EnumChoiceValueDisplayAdminMixin, diff --git a/traffic_control/admin/traffic_light.py b/traffic_control/admin/traffic_light.py index b95b1d3a..ec43c9b3 100644 --- a/traffic_control/admin/traffic_light.py +++ b/traffic_control/admin/traffic_light.py @@ -188,6 +188,7 @@ class TrafficLightRealOperationInline(TrafficControlOperationInlineBase): @admin.register(TrafficLightReal) class TrafficLightRealAdmin( + DeviceTypeSearchAdminMixin, DeviceComparisonAdminMixin, ResponsibleEntityPermissionAdminMixin, EnumChoiceValueDisplayAdminMixin, diff --git a/traffic_control/admin/traffic_sign.py b/traffic_control/admin/traffic_sign.py index f32f48ba..8b66316c 100644 --- a/traffic_control/admin/traffic_sign.py +++ b/traffic_control/admin/traffic_sign.py @@ -272,6 +272,7 @@ class TrafficSignRealOperationInline(TrafficControlOperationInlineBase): @admin.register(TrafficSignReal) class TrafficSignRealAdmin( + DeviceTypeSearchAdminMixin, DeviceComparisonAdminMixin, ResponsibleEntityPermissionAdminMixin, EnumChoiceValueDisplayAdminMixin, diff --git a/traffic_control/mixins/admin.py b/traffic_control/mixins/admin.py index 86ed2473..ebabf86b 100644 --- a/traffic_control/mixins/admin.py +++ b/traffic_control/mixins/admin.py @@ -138,8 +138,5 @@ def delete_queryset(self, request, queryset): class DeviceTypeSearchAdminMixin: - search_fields = ( - "device_type__code", - "device_type__legacy_code", - ) - search_help_text = "Searches from code and legacy_code fields" + def get_search_fields(self, request): + return self.search_fields + ("device_type__code", "device_type__legacy_code")