Coverage for dcim/forms/formsets.py: 25%
14 statements
« prev ^ index » next coverage.py v7.15.2, created at 2026-10-10 18:35 +0000
« prev ^ index » next coverage.py v7.15.2, created at 2026-10-10 18:35 +0000
1from django import forms
2from django.utils.translation import gettext_lazy as _
4__all__ = (
5 'BaseVCMemberFormSet',
6)
9class BaseVCMemberFormSet(forms.BaseModelFormSet):
11 def clean(self):
12 super().clean()
14 # Check for duplicate VC position values
15 vc_position_list = []
16 for form in self.forms:
17 vc_position = form.cleaned_data.get('vc_position')
18 if vc_position:
19 if vc_position in vc_position_list:
20 error_msg = _("A virtual chassis member already exists in position {vc_position}.").format(
21 vc_position=vc_position
22 )
23 form.add_error('vc_position', error_msg)
24 vc_position_list.append(vc_position)