From 146435ce1c607b575fec307540d7db0364201def Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Thu, 15 Jun 2017 14:13:20 -0400 Subject: [PATCH] Fixes #1275: Raise validation error on prefix import when multiple VLANs are found --- netbox/ipam/forms.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/netbox/ipam/forms.py b/netbox/ipam/forms.py index 040f2b8cd8b..78deadd45f3 100644 --- a/netbox/ipam/forms.py +++ b/netbox/ipam/forms.py @@ -1,6 +1,7 @@ from __future__ import unicode_literals from django import forms +from django.core.exceptions import MultipleObjectsReturned from django.db.models import Count from dcim.models import Site, Rack, Device, Interface @@ -301,6 +302,10 @@ def clean(self): )) else: raise forms.ValidationError("Global VLAN {} not found in group {}".format(vlan_vid, vlan_group)) + except MultipleObjectsReturned: + raise forms.ValidationError( + "Multiple VLANs with VID {} found in group {}".format(vlan_vid, vlan_group) + ) elif vlan_vid: try: self.instance.vlan = VLAN.objects.get(site=site, group__isnull=True, vid=vlan_vid) @@ -309,6 +314,8 @@ def clean(self): raise forms.ValidationError("VLAN {} not found in site {}".format(vlan_vid, site)) else: raise forms.ValidationError("Global VLAN {} not found".format(vlan_vid)) + except MultipleObjectsReturned: + raise forms.ValidationError("Multiple VLANs with VID {} found".format(vlan_vid)) class PrefixBulkEditForm(BootstrapMixin, CustomFieldBulkEditForm):