django-admin2/example/blog/actions.py
Kevin Diale 35cb0bcc75 "only_selected" flag exists to specify whether it should affect the
whole queryset or just those that are selected.
2013-08-02 13:58:57 -04:00

48 lines
1.4 KiB
Python

# -*- coding: utf-8 -*-
from __future__ import division, absolute_import, unicode_literals
from djadmin2.actions import BaseListAction
from djadmin2 import permissions
from django.utils.translation import ugettext_lazy, pgettext_lazy
class CustomPublishAction(BaseListAction):
permission_classes = BaseListAction.permission_classes + (
permissions.ModelChangePermission,
)
description = ugettext_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 = ugettext_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)