bulk_create.py 1016 B

1234567891011121314151617181920212223242526272829303132
  1. from django import forms
  2. from django.utils.translation import gettext as _
  3. from utilities.forms import BootstrapMixin, form_from_model
  4. from utilities.forms.fields import ExpandableNameField
  5. from virtualization.models import VMInterface, VirtualMachine
  6. __all__ = (
  7. 'VMInterfaceBulkCreateForm',
  8. )
  9. class VirtualMachineBulkAddComponentForm(BootstrapMixin, forms.Form):
  10. pk = forms.ModelMultipleChoiceField(
  11. queryset=VirtualMachine.objects.all(),
  12. widget=forms.MultipleHiddenInput()
  13. )
  14. name = ExpandableNameField(
  15. label=_('Name')
  16. )
  17. def clean_tags(self):
  18. # Because we're feeding TagField data (on the bulk edit form) to another TagField (on the model form), we
  19. # must first convert the list of tags to a string.
  20. return ','.join(self.cleaned_data.get('tags'))
  21. class VMInterfaceBulkCreateForm(
  22. form_from_model(VMInterface, ['enabled', 'mtu', 'description', 'tags']),
  23. VirtualMachineBulkAddComponentForm
  24. ):
  25. replication_fields = ('name',)