Features: 1) Add return type annotations for admin actions.

Fixes: 1) Correct translation wrapping by converting to strings with str().

Extra: 1) Minor refactoring and cleanup in admin action methods for clarity.
This commit is contained in:
Egor Pavlovich Gorbunov 2025-05-20 19:46:10 +03:00
parent 87369b48a9
commit 57a6654c89

View file

@ -34,25 +34,27 @@ from .models import (
class BasicModelAdmin(ModelAdmin):
@admin.action(description=_("activate selected %(verbose_name_plural)s"))
def activate_selected(self, request, queryset):
@admin.action(description=str(_("activate selected %(verbose_name_plural)s")))
def activate_selected(self, request, queryset) -> str:
queryset.update(is_active=True)
return ""
@admin.action(description=_("deactivate selected %(verbose_name_plural)s"))
def deactivate_selected(self, request, queryset):
@admin.action(description=str(_("deactivate selected %(verbose_name_plural)s")))
def deactivate_selected(self, request, queryset) -> str:
queryset.update(is_active=False)
return ""
def get_actions(self, request):
actions = super().get_actions(request)
actions["activate_selected"] = (
self.activate_selected,
"activate_selected",
_("activate selected %(verbose_name_plural)s"),
str(_("activate selected %(verbose_name_plural)s")),
)
actions["deactivate_selected"] = (
self.deactivate_selected,
"deactivate_selected",
_("deactivate selected %(verbose_name_plural)s"),
str(_("deactivate selected %(verbose_name_plural)s")),
)
return actions