Skip to content

Commit c264f2c

Browse files
authored
Merge branch 'master' into feat/python-migration-matrix
2 parents 364ec88 + 5c8c888 commit c264f2c

20 files changed

+446
-35
lines changed

.github/workflows/codeql.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,16 +27,16 @@ jobs:
2727
uses: actions/checkout@v6
2828

2929
- name: Initialize CodeQL
30-
uses: github/codeql-action/init@v3
30+
uses: github/codeql-action/init@v4
3131
with:
3232
languages: ${{ matrix.language }}
3333
queries: +security-and-quality
3434

3535
- name: Autobuild
36-
uses: github/codeql-action/autobuild@v3
36+
uses: github/codeql-action/autobuild@v4
3737
if: ${{ matrix.language == 'javascript' || matrix.language == 'python' }}
3838

3939
- name: Perform CodeQL Analysis
40-
uses: github/codeql-action/analyze@v3
40+
uses: github/codeql-action/analyze@v4
4141
with:
4242
category: "/language:${{ matrix.language }}"

.github/workflows/test.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ jobs:
3939
run: tox --py current
4040

4141
- name: Upload coverage data
42-
uses: actions/upload-artifact@v5
42+
uses: actions/upload-artifact@v6
4343
with:
4444
name: coverage-data-${{ matrix.python-version }}
4545
include-hidden-files: true
@@ -60,7 +60,7 @@ jobs:
6060
run: python -m pip install --upgrade coverage[toml]
6161

6262
- name: Download data
63-
uses: actions/download-artifact@v6
63+
uses: actions/download-artifact@v7
6464
with:
6565
path: ${{ github.workspace }}
6666
pattern: coverage-data-*
@@ -74,7 +74,7 @@ jobs:
7474
7575
- name: Upload HTML report
7676
if: ${{ failure() }}
77-
uses: actions/upload-artifact@v5
77+
uses: actions/upload-artifact@v6
7878
with:
7979
name: html-report
8080
path: htmlcov

.pre-commit-config.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ repos:
2121
args: [--target-version, "3.2"]
2222

2323
- repo: https://github.com/astral-sh/ruff-pre-commit
24-
rev: v0.14.7
24+
rev: v0.14.14
2525
hooks:
2626
- id: ruff
2727
args: [--fix, --exit-non-zero-on-fix]

CHANGELOG.rst

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,13 @@
22
Changelog
33
=========
44

5+
3.0.3 (2026-01-13)
6+
==================
7+
8+
* fix: Admin complained about missing methods get_author and get_modified_date by @fsbraun in https://github.com/django-cms/djangocms-alias/pull/307
9+
* fix: If static alias has no name, use static code as name by @fsbraun in https://github.com/django-cms/djangocms-alias/pull/326
10+
11+
512
3.0.2 (2025-10-08)
613
==================
714

djangocms_alias/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@
33
A reference can be added to any placeholder using the Alias plugin.
44
"""
55

6-
__version__ = "3.0.2"
6+
__version__ = "3.0.3"

djangocms_alias/admin.py

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
from __future__ import annotations
22

3+
from collections.abc import Iterable
4+
35
from cms.admin.utils import GrouperModelAdmin
46
from cms.utils.permissions import get_model_permission_codename
57
from cms.utils.urlutils import admin_reverse
@@ -16,7 +18,6 @@
1618
from django.utils.translation import gettext_lazy as _
1719
from parler.admin import TranslatableAdmin
1820

19-
from .cms_config import AliasCMSConfig
2021
from .constants import (
2122
CHANGE_ALIAS_URL_NAME,
2223
DELETE_ALIAS_URL_NAME,
@@ -37,13 +38,6 @@
3738
"AliasContentAdmin",
3839
]
3940

40-
alias_admin_list_display = ["content__name", "category", "static", "used", "admin_list_actions"]
41-
djangocms_versioning_enabled = AliasCMSConfig.djangocms_versioning_enabled
42-
43-
if djangocms_versioning_enabled:
44-
alias_admin_list_display.insert(-1, "get_author")
45-
alias_admin_list_display.insert(-1, "get_modified_date")
46-
4741

4842
@admin.register(Category)
4943
class CategoryAdmin(TranslatableAdmin):
@@ -64,7 +58,7 @@ def save_model(self, request, obj, form, change):
6458

6559
@admin.register(Alias)
6660
class AliasAdmin(GrouperModelAdmin):
67-
list_display = alias_admin_list_display
61+
list_display = ["content_name", "category", "static", "used", "admin_list_actions"]
6862
list_display_links = None
6963
list_filter = (
7064
SiteFilter,
@@ -73,7 +67,7 @@ class AliasAdmin(GrouperModelAdmin):
7367
)
7468
fields = ("content__name", "category", "site", "content__language")
7569
readonly_fields = ("static_code",)
76-
search_fields = ["content__name"]
70+
search_fields = ["content__name", "static_code"]
7771
autocomplete_fields = ["category", "site"]
7872
extra_grouping_fields = ("language",)
7973
EMPTY_CONTENT_VALUE = mark_safe(_("<i>Missing language</i>"))
@@ -82,11 +76,24 @@ def get_actions_list(self) -> list:
8276
"""Add alias usage list actions"""
8377
return super().get_actions_list() + [self._get_alias_usage_link, self._get_alias_delete_link]
8478

85-
def get_queryset(self, request):
79+
def get_queryset(self, request: HttpRequest) -> models.QuerySet:
8680
qs = super().get_queryset(request)
8781
# Annotate each Alias with a boolean indicating if related cmsplugins exist
8882
return qs.annotate(cmsplugins_count=models.Count("cms_plugins"))
8983

84+
def get_list_display(self, request: HttpRequest) -> Iterable[str]:
85+
list_display = super().get_list_display(request)
86+
list_display = list(list_display)
87+
if hasattr(self, "get_author"):
88+
list_display.insert(-1, "get_author")
89+
if hasattr(self, "get_modified_date"):
90+
list_display.insert(-1, "get_modified_date")
91+
return list_display
92+
93+
@admin.display(description=_("Name"), ordering=models.functions.Lower("contents__name"))
94+
def content_name(self, obj: Alias) -> str:
95+
return self.get_content_field(obj, "name") or obj.static_code or self.EMPTY_CONTENT_VALUE
96+
9097
@admin.display(description=_("Used"), boolean=True, ordering="cmsplugins_count")
9198
def used(self, obj: Alias) -> bool | None:
9299
if obj.static_code and obj.cmsplugins_count == 0:
5.89 KB
Binary file not shown.

0 commit comments

Comments
 (0)