From e4faac8b46fc8990c576d6c3e1be2474587ce39c Mon Sep 17 00:00:00 2001 From: Rajit Sarkar Date: Tue, 27 Feb 2024 09:23:29 -0500 Subject: [PATCH] CONCD-696 For all 3 import dashboards, sort campaigns alphabetically --- importer/admin.py | 27 +++++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/importer/admin.py b/importer/admin.py index 6a96e69d0..c8d77d338 100644 --- a/importer/admin.py +++ b/importer/admin.py @@ -1,7 +1,11 @@ from django.contrib import admin, messages from django.contrib.humanize.templatetags.humanize import naturaltime -from concordia.admin.filters import CampaignProjectListFilter, NullableTimestampFilter +from concordia.admin.filters import ( + CampaignListFilter, + CampaignProjectListFilter, + NullableTimestampFilter, +) from .models import ImportItem, ImportItemAsset, ImportJob from .tasks import download_asset_task @@ -55,6 +59,21 @@ class ImportJobAssetProjectListFilter(CampaignProjectListFilter): project_ref = "import_item__job__project_id" +class ImportJobCampaignListFilter(CampaignListFilter): + parameter_name = "project__campaign__id__exact" + status_filter_parameter = "project__campaign__status" + + +class ImportItemCampaignListFilter(CampaignListFilter): + parameter_name = "job__project__campaign__id__exact" + status_filter_parameter = "job__project__campaign__status" + + +class ImportItemAssetCampaignListFilter(CampaignListFilter): + parameter_name = "import_item__job__project__campaign__id__exact" + status_filter_parameter = "import_item__job__project__campaign__status" + + class TaskStatusModelAdmin(admin.ModelAdmin): readonly_fields = ( "created", @@ -116,7 +135,7 @@ class ImportJobAdmin(TaskStatusModelAdmin): CompletedFilter, FailedFilter, ("created_by", admin.RelatedOnlyFieldListFilter), - "project__campaign", + ImportJobCampaignListFilter, ImportJobProjectListFilter, ) search_fields = ("url", "status") @@ -139,7 +158,7 @@ class ImportItemAdmin(TaskStatusModelAdmin): CompletedFilter, FailedFilter, ("job__created_by", admin.RelatedOnlyFieldListFilter), - "job__project__campaign", + ImportItemCampaignListFilter, ImportJobItemProjectListFilter, ) search_fields = ("url", "status") @@ -166,7 +185,7 @@ class ImportItemAssetAdmin(TaskStatusModelAdmin): CompletedFilter, FailedFilter, ("import_item__job__created_by", admin.RelatedOnlyFieldListFilter), - "import_item__job__project__campaign", + ImportItemAssetCampaignListFilter, ImportJobAssetProjectListFilter, ) search_fields = ("url", "status")