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)