Coverage for server/forms.py: 100%
21 statements
« prev ^ index » next coverage.py v7.17.0, created at 2026-10-24 19:06 +0000
« 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
5from django.forms import DateInput
6from django import forms
9class Form(SMForm):
10 """
11 Override default form behaviour; Make sure 'In Use' is the default/initial
12 value
13 """
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)
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 }
32class FormDisabled(Form, SMFormDisabled):
33 pass
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 )