mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-23 04:22:01 -06:00
Fixes #1103: Correct handling of validation errors when creating IP addresses in bulk
This commit is contained in:
parent
480faa6461
commit
f643f2c601
@ -329,13 +329,21 @@ class BulkAddView(View):
|
||||
new_objs = []
|
||||
try:
|
||||
with transaction.atomic():
|
||||
# Validate and save each object individually
|
||||
for value in pattern:
|
||||
model_form_data[pattern_target] = value
|
||||
model_form = self.model_form(model_form_data)
|
||||
if model_form.is_valid():
|
||||
obj = model_form.save()
|
||||
new_objs.append(obj)
|
||||
except ValidationError as e:
|
||||
form.add_error(None, e)
|
||||
else:
|
||||
for error in model_form.errors.as_data().values():
|
||||
form.add_error(None, error)
|
||||
# Abort the creation of all objects if errors exist
|
||||
if form.errors:
|
||||
raise ValidationError("Validation of one or more model forms failed.")
|
||||
except ValidationError:
|
||||
pass
|
||||
|
||||
if not form.errors:
|
||||
msg = u"Added {} {}".format(len(new_objs), model._meta.verbose_name_plural)
|
||||
|
Loading…
Reference in New Issue
Block a user