From 05d3354570095ac070fd6173e347dc0e6d5b2eb7 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Mon, 3 Apr 2017 14:45:20 -0400 Subject: [PATCH] Fixes #1022: Record user actions when creating IP addresses in bulk --- netbox/extras/models.py | 9 +++++++-- netbox/utilities/views.py | 4 +++- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/netbox/extras/models.py b/netbox/extras/models.py index f06d0aa29..b46c27f87 100644 --- a/netbox/extras/models.py +++ b/netbox/extras/models.py @@ -56,13 +56,15 @@ ACTION_EDIT = 3 ACTION_BULK_EDIT = 4 ACTION_DELETE = 5 ACTION_BULK_DELETE = 6 +ACTION_BULK_CREATE = 7 ACTION_CHOICES = ( (ACTION_CREATE, 'created'), + (ACTION_BULK_CREATE, 'bulk created'), (ACTION_IMPORT, 'imported'), (ACTION_EDIT, 'modified'), (ACTION_BULK_EDIT, 'bulk edited'), (ACTION_DELETE, 'deleted'), - (ACTION_BULK_DELETE, 'bulk deleted') + (ACTION_BULK_DELETE, 'bulk deleted'), ) @@ -328,6 +330,9 @@ class UserActionManager(models.Manager): def log_import(self, user, content_type, message=''): self.log_bulk_action(user, content_type, ACTION_IMPORT, message) + def log_bulk_create(self, user, content_type, message=''): + self.log_bulk_action(user, content_type, ACTION_BULK_CREATE, message) + def log_bulk_edit(self, user, content_type, message=''): self.log_bulk_action(user, content_type, ACTION_BULK_EDIT, message) @@ -358,7 +363,7 @@ class UserAction(models.Model): return u'{} {} {}'.format(self.user, self.get_action_display(), self.content_type) def icon(self): - if self.action in [ACTION_CREATE, ACTION_IMPORT]: + if self.action in [ACTION_CREATE, ACTION_BULK_CREATE, ACTION_IMPORT]: return mark_safe('') elif self.action in [ACTION_EDIT, ACTION_BULK_EDIT]: return mark_safe('') diff --git a/netbox/utilities/views.py b/netbox/utilities/views.py index 08bf3f65a..010a60daa 100644 --- a/netbox/utilities/views.py +++ b/netbox/utilities/views.py @@ -334,7 +334,9 @@ class BulkAddView(View): form.add_error(None, e) if not form.errors: - messages.success(request, u"Added {} {}.".format(len(new_objs), self.model._meta.verbose_name_plural)) + msg = u"Added {} {}".format(len(new_objs), self.model._meta.verbose_name_plural) + messages.success(request, msg) + UserAction.objects.log_bulk_create(request.user, ContentType.objects.get_for_model(self.model), msg) if '_addanother' in request.POST: return redirect(request.path) return redirect(self.default_return_url)