|
|
@@ -134,14 +134,18 @@ class ASNForm(BootstrapMixin, TenancyForm, CustomFieldModelForm):
|
|
|
label='Sites',
|
|
|
required=False
|
|
|
)
|
|
|
+ tags = DynamicModelMultipleChoiceField(
|
|
|
+ queryset=Tag.objects.all(),
|
|
|
+ required=False
|
|
|
+ )
|
|
|
|
|
|
class Meta:
|
|
|
model = ASN
|
|
|
fields = [
|
|
|
- 'asn', 'rir', 'sites', 'tenant_group', 'tenant', 'description'
|
|
|
+ 'asn', 'rir', 'sites', 'tenant_group', 'tenant', 'description', 'tags'
|
|
|
]
|
|
|
fieldsets = (
|
|
|
- ('ASN', ('asn', 'rir', 'sites', 'description')),
|
|
|
+ ('ASN', ('asn', 'rir', 'sites', 'description', 'tags')),
|
|
|
('Tenancy', ('tenant_group', 'tenant')),
|
|
|
)
|
|
|
help_texts = {
|
|
|
@@ -152,6 +156,17 @@ class ASNForm(BootstrapMixin, TenancyForm, CustomFieldModelForm):
|
|
|
'date_added': DatePicker(),
|
|
|
}
|
|
|
|
|
|
+ def __init__(self, data=None, instance=None, *args, **kwargs):
|
|
|
+ super().__init__(data=data, instance=instance, *args, **kwargs)
|
|
|
+
|
|
|
+ if self.instance and self.instance.pk is not None:
|
|
|
+ self.fields['sites'].initial = self.instance.sites.all().values_list('id', flat=True)
|
|
|
+
|
|
|
+ def save(self, *args, **kwargs):
|
|
|
+ instance = super().save(*args, **kwargs)
|
|
|
+ instance.sites.set(self.cleaned_data['sites'])
|
|
|
+ return instance
|
|
|
+
|
|
|
|
|
|
class RoleForm(BootstrapMixin, CustomFieldModelForm):
|
|
|
slug = SlugField()
|