Why don't you PEP your 8! Add in change messages.

This commit is contained in:
Chris Jones 2013-07-18 17:23:48 -07:00
parent 52c337a72c
commit 69f2a357f8
2 changed files with 46 additions and 3 deletions

View file

@ -8,6 +8,10 @@ from django.core.exceptions import PermissionDenied
from django.core.urlresolvers import reverse, reverse_lazy
from django.forms.models import modelform_factory
from django.http import HttpResponseRedirect
from django.utils.encoding import force_text
from django.utils.text import get_text_list
from django.utils.translation import ugettext as _
from braces.views import AccessMixin
from . import settings, permissions
@ -142,3 +146,33 @@ class Admin2ModelFormMixin(object):
# default to index view
return reverse(admin2_urlname(self, 'index'))
def construct_change_message(self, request, form, formsets):
""" Construct a change message from a changed object """
change_message = []
if form.changed_data:
change_message.append(
_('Changed {0}.'.format(
get_text_list(form.changed_data, _('and')))))
if formsets:
for formset in formsets:
for added_object in formset.new_objects:
change_message.append(
_('Added {0} "{1}".'.format(
force_text(added_object._meta.verbose_name),
force_text(added_object))))
for changed_object, changed_fields in formset.changed_objects:
change_message.append(
_('Changed {0} for {1} "{2}".'.format(
get_text_list(changed_fields, _('and')),
force_text(changed_object._meta.verbose_name),
force_text(changed_object))))
for deleted_object in formset.deleted_objects:
change_message.append(
_('Deleted {0} "{1}".'.format(
force_text(deleted_object._meta.verbose_name),
force_text(deleted_object))))
change_message = ' '.join(change_message)
return change_message or _('No fields changed.')

View file

@ -237,7 +237,10 @@ class ModelEditFormView(AdminModel2Mixin, Admin2ModelFormMixin,
def forms_valid(self, form, inlines):
response = super(ModelEditFormView, self).forms_valid(form, inlines)
LogEntry.objects.log_action(
self.request.user.id, self.object, LogEntry.CHANGE)
self.request.user.id,
self.object,
LogEntry.CHANGE,
self.construct_change_message(self.request, form, inlines))
return response
@ -265,7 +268,10 @@ class ModelAddFormView(AdminModel2Mixin, Admin2ModelFormMixin,
def forms_valid(self, form, inlines):
response = super(ModelAddFormView, self).forms_valid(form, inlines)
LogEntry.objects.log_action(
self.request.user.id, self.object, LogEntry.ADDITION)
self.request.user.id,
self.object,
LogEntry.ADDITION,
'Object created.')
return response
@ -300,7 +306,10 @@ class ModelDeleteView(AdminModel2Mixin, generic.DeleteView):
def delete(self, request, *args, **kwargs):
LogEntry.objects.log_action(
request.user.id, self.get_object(), LogEntry.DELETION)
request.user.id,
self.get_object(),
LogEntry.DELETION,
'Object deleted.')
return super(ModelDeleteView, self).delete(request, *args, **kwargs)