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

1from django import forms 

2from django.utils.translation import gettext_lazy as _ 

3 

4__all__ = ( 

5 'BaseVCMemberFormSet', 

6) 

7 

8 

9class BaseVCMemberFormSet(forms.BaseModelFormSet): 

10 

11 def clean(self): 

12 super().clean() 

13 

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)