mirror of
https://github.com/jazzband/django-admin2.git
synced 2026-03-16 22:20:24 +00:00
71 lines
2 KiB
Python
71 lines
2 KiB
Python
from django.contrib import messages
|
|
from django.utils.translation import gettext_lazy, pgettext_lazy
|
|
|
|
from djadmin2 import permissions
|
|
from djadmin2.actions import BaseListAction
|
|
|
|
|
|
class CustomPublishAction(BaseListAction):
|
|
|
|
permission_classes = BaseListAction.permission_classes + (
|
|
permissions.ModelChangePermission,
|
|
)
|
|
|
|
description = gettext_lazy('Publish selected items')
|
|
success_message = pgettext_lazy(
|
|
'singular form',
|
|
'Successfully published %(count)s %(items)s')
|
|
success_message_plural = pgettext_lazy(
|
|
'plural form',
|
|
'Successfully published %(count)s %(items)s')
|
|
|
|
default_template_name = "actions/publish_selected_items.html"
|
|
|
|
def process_queryset(self):
|
|
self.get_queryset().update(published=True)
|
|
|
|
|
|
class PublishAllItemsAction(BaseListAction):
|
|
permission_classes = BaseListAction.permission_classes + (
|
|
permissions.ModelChangePermission,
|
|
)
|
|
|
|
description = gettext_lazy('Publish all items')
|
|
success_message = pgettext_lazy(
|
|
'singular form',
|
|
'Successfully published %(count)s %(items)s',
|
|
)
|
|
|
|
success_message_plural = pgettext_lazy(
|
|
'plural form',
|
|
'Successfully published %(count)s %(items)s',
|
|
)
|
|
|
|
default_template_name = "model_list.html"
|
|
only_selected = False
|
|
|
|
def process_queryset(self):
|
|
self.get_queryset().update(published=True)
|
|
|
|
|
|
def unpublish_items(request, queryset):
|
|
queryset.update(published=False)
|
|
messages.add_message(request, messages.INFO,
|
|
gettext_lazy(u'Items unpublished'))
|
|
|
|
|
|
# Translators : action description
|
|
unpublish_items.description = gettext_lazy('Unpublish selected items')
|
|
|
|
|
|
def unpublish_all_items(request, queryset):
|
|
queryset.update(published=False)
|
|
messages.add_message(
|
|
request,
|
|
messages.INFO,
|
|
gettext_lazy('Items unpublished'),
|
|
)
|
|
|
|
|
|
unpublish_all_items.description = gettext_lazy('Unpublish all items')
|
|
unpublish_all_items.only_selected = False
|