Skip to content
Open
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 9 additions & 9 deletions djangocms_alias/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
from django.utils.translation import gettext_lazy as _
from parler.admin import TranslatableAdmin

from .cms_config import AliasCMSConfig
from .constants import (
CHANGE_ALIAS_URL_NAME,
DELETE_ALIAS_URL_NAME,
Expand All @@ -37,13 +36,6 @@
"AliasContentAdmin",
]

alias_admin_list_display = ["content__name", "category", "static", "used", "admin_list_actions"]
djangocms_versioning_enabled = AliasCMSConfig.djangocms_versioning_enabled

if djangocms_versioning_enabled:
alias_admin_list_display.insert(-1, "get_author")
alias_admin_list_display.insert(-1, "get_modified_date")


@admin.register(Category)
class CategoryAdmin(TranslatableAdmin):
Expand All @@ -64,7 +56,7 @@ def save_model(self, request, obj, form, change):

@admin.register(Alias)
class AliasAdmin(GrouperModelAdmin):
list_display = alias_admin_list_display
list_display = ["content__name", "category", "static", "used", "admin_list_actions"]
list_display_links = None
list_filter = (
SiteFilter,
Expand All @@ -87,6 +79,14 @@ def get_queryset(self, request):
# Annotate each Alias with a boolean indicating if related cmsplugins exist
return qs.annotate(cmsplugins_count=models.Count("cms_plugins"))

def get_list_display(self, request):
list_display = super().get_list_display(request)
if hasattr(self, "get_author"):
list_display = list(list_display)
list_display.insert(-1, "get_author")
list_display.insert(-1, "get_modified_date")
return list_display

@admin.display(description=_("Used"), boolean=True, ordering="cmsplugins_count")
def used(self, obj: Alias) -> bool | None:
if obj.static_code and obj.cmsplugins_count == 0:
Expand Down