Coverage for server/forms.py: 100%

21 statements  

« prev     ^ index     » next       coverage.py v7.17.0, created at 2026-10-24 19:06 +0000

1from .models import Model as ServerModel 

2from sm.forms import SMForm, SMFormDisabled 

3from status.models import Model as StatusModel 

4 

5from django.forms import DateInput 

6from django import forms 

7 

8 

9class Form(SMForm): 

10 """ 

11 Override default form behaviour; Make sure 'In Use' is the default/initial 

12 value 

13 """ 

14 

15 def __init__(self, *args, **kwargs): 

16 super().__init__(*args, **kwargs) 

17 try: 

18 default_status = StatusModel.objects.filter(name="In use").first() 

19 if default_status: 

20 self.fields["status"].initial = default_status.id 

21 except Exception as e: # noqa # flake8: noqa # NOQA # pragma: no cover 

22 print('No status "In Use" found: %s' % e) 

23 

24 class Meta(SMForm.Meta): 

25 model = ServerModel 

26 widgets = { 

27 "delivery_date": DateInput(attrs={"class": "date-input"}), 

28 "install_date": DateInput(attrs={"class": "date-input"}), 

29 } 

30 

31 

32class FormDisabled(Form, SMFormDisabled): 

33 pass 

34 

35 

36class BulkActionForm(forms.Form): 

37 status = forms.ModelChoiceField( 

38 queryset=StatusModel.objects.all(), 

39 required=False, 

40 label="Change Status to", 

41 empty_label="--- No Change ---", 

42 ) 

43 delete = forms.BooleanField(required=False, label="Delete Selected Servers") 

44 decommission = forms.BooleanField( 

45 required=False, label="Decommission (set decommission date)" 

46 )