Coverage for cluster / forms.py: 100%
14 statements
« prev ^ index » next coverage.py v7.13.5, created at 2026-03-24 12:43 +0000
« prev ^ index » next coverage.py v7.13.5, created at 2026-03-24 12:43 +0000
1from .models import Model
2from sm.forms import SMForm, SMFormDisabled
3from server.models import Model as ServerModel
5from django.forms import ModelMultipleChoiceField
8class Form(SMForm):
9 """
10 Form providing an extra field; All ServerModels ordered by cluster and
11 hostname, additionally sets the initial list in __init__()
12 """
14 server_set = ModelMultipleChoiceField(
15 label="Server",
16 queryset=ServerModel.objects.all().order_by("-cluster", "hostname"),
17 )
19 def __init__(self, *args, **kwargs):
20 """
21 Set initial list of servers, since this is a reverse model relation,
22 this is done manually here
23 """
24 super().__init__(*args, **kwargs)
26 self.fields["server_set"].required = False
27 self.fields["server_set"].initial = self.instance.server_set.all().values_list(
28 "id", flat=True
29 )
31 class Meta(SMForm.Meta):
32 model = Model
35class FormDisabled(Form, SMFormDisabled):
36 pass