mirror of
https://github.com/netbox-community/netbox.git
synced 2025-08-08 00:28:16 -06:00
Misc cleanup
This commit is contained in:
parent
ce69379f34
commit
6bacc13fe0
@ -72,7 +72,6 @@ class ModuleCommonForm(forms.Form):
|
|||||||
|
|
||||||
def _get_module_bay_tree(self, module_bay):
|
def _get_module_bay_tree(self, module_bay):
|
||||||
module_bays = []
|
module_bays = []
|
||||||
all_module_bays = module.device.modulebays.all().select_related('module')
|
|
||||||
while module_bay:
|
while module_bay:
|
||||||
module_bays.append(module_bay)
|
module_bays.append(module_bay)
|
||||||
if module_bay.module:
|
if module_bay.module:
|
||||||
|
@ -1116,19 +1116,14 @@ class ModuleBay(ModularComponentModel, TrackingModelMixin):
|
|||||||
def clean(self):
|
def clean(self):
|
||||||
super().clean()
|
super().clean()
|
||||||
|
|
||||||
# Check for recursion of moduleX -> module bay -> modulex
|
# Check for recursion
|
||||||
if module := self.module:
|
if module := self.module:
|
||||||
all_module_bays = self.device.modulebays.all().select_related('module')
|
tree = []
|
||||||
found = []
|
|
||||||
while module:
|
while module:
|
||||||
if module.id in found:
|
if module.pk in tree:
|
||||||
raise ValidationError(_("Cannot have a recursion in Module Bay -> Module relationships."))
|
raise ValidationError(_("A module bay cannot belong to a module installed within it."))
|
||||||
|
tree.append(module.pk)
|
||||||
found.append(module.id)
|
module = module.module_bay.module if module.module_bay else None
|
||||||
if module.module_bay:
|
|
||||||
module = module.module_bay.module
|
|
||||||
else:
|
|
||||||
module = None
|
|
||||||
|
|
||||||
|
|
||||||
class DeviceBay(ComponentModel, TrackingModelMixin):
|
class DeviceBay(ComponentModel, TrackingModelMixin):
|
||||||
|
@ -1203,19 +1203,14 @@ class Module(PrimaryModel, ConfigContextModel):
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
# Check for recursion of moduleX -> module bay -> modulex
|
# Check for recursion
|
||||||
module = self
|
module = self
|
||||||
all_module_bays = self.device.modulebays.all().select_related('module')
|
tree = []
|
||||||
found = []
|
|
||||||
while module:
|
while module:
|
||||||
if module.id in found:
|
if module.pk in tree:
|
||||||
raise ValidationError(_("Cannot have a recursion in Module Bay -> Module relationships."))
|
raise ValidationError(_("A module cannot be installed in a bay which depends on itself."))
|
||||||
|
tree.append(module.pk)
|
||||||
found.append(module.id)
|
module = module.module_bay.module if module.module_bay else None
|
||||||
if module.module_bay:
|
|
||||||
module = module.module_bay.module
|
|
||||||
else:
|
|
||||||
module = None
|
|
||||||
|
|
||||||
def save(self, *args, **kwargs):
|
def save(self, *args, **kwargs):
|
||||||
is_new = self.pk is None
|
is_new = self.pk is None
|
||||||
|
Loading…
Reference in New Issue
Block a user