Skip to content

Commit

Permalink
CONCD-696 Improve import dashboards campaign filters list (#2297)
Browse files Browse the repository at this point in the history
* CONCD-696 For all 3 import dashboards, sort campaigns alphabetically

* CONCD-696 do not include retired campaigns in campaign filter list

* CONCD-696 fixing the 'not allowed' error
  • Loading branch information
rasarkar authored Feb 27, 2024
1 parent ecd40f6 commit d585586
Showing 1 changed file with 30 additions and 4 deletions.
34 changes: 30 additions & 4 deletions importer/admin.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,12 @@
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 concordia.models import Campaign

from .models import ImportItem, ImportItemAsset, ImportJob
from .tasks import download_asset_task
Expand Down Expand Up @@ -55,6 +60,27 @@ class ImportJobAssetProjectListFilter(CampaignProjectListFilter):
project_ref = "import_item__job__project_id"


class ImportCampaignListFilter(CampaignListFilter):
def lookups(self, request, model_admin):
queryset = Campaign.objects.exclude(status=Campaign.Status.RETIRED)
return queryset.values_list("id", "title").order_by("title")


class ImportJobCampaignListFilter(ImportCampaignListFilter):
parameter_name = "project__campaign"
status_filter_parameter = "project__campaign__status"


class ImportItemCampaignListFilter(ImportCampaignListFilter):
parameter_name = "job__project__campaign"
status_filter_parameter = "job__project__campaign__status"


class ImportItemAssetCampaignListFilter(ImportCampaignListFilter):
parameter_name = "import_item__job__project__campaign"
status_filter_parameter = "import_item__job__project__campaign__status"


class TaskStatusModelAdmin(admin.ModelAdmin):
readonly_fields = (
"created",
Expand Down Expand Up @@ -116,7 +142,7 @@ class ImportJobAdmin(TaskStatusModelAdmin):
CompletedFilter,
FailedFilter,
("created_by", admin.RelatedOnlyFieldListFilter),
"project__campaign",
ImportJobCampaignListFilter,
ImportJobProjectListFilter,
)
search_fields = ("url", "status")
Expand All @@ -139,7 +165,7 @@ class ImportItemAdmin(TaskStatusModelAdmin):
CompletedFilter,
FailedFilter,
("job__created_by", admin.RelatedOnlyFieldListFilter),
"job__project__campaign",
ImportItemCampaignListFilter,
ImportJobItemProjectListFilter,
)
search_fields = ("url", "status")
Expand All @@ -166,7 +192,7 @@ class ImportItemAssetAdmin(TaskStatusModelAdmin):
CompletedFilter,
FailedFilter,
("import_item__job__created_by", admin.RelatedOnlyFieldListFilter),
"import_item__job__project__campaign",
ImportItemAssetCampaignListFilter,
ImportJobAssetProjectListFilter,
)
search_fields = ("url", "status")
Expand Down

0 comments on commit d585586

Please sign in to comment.