bulk_create.py 866 B

123456789101112131415161718192021222324252627282930313233
  1. from django import forms
  2. from django.utils.translation import gettext_lazy as _
  3. from ipam.constants import VLAN_VID_MAX, VLAN_VID_MIN
  4. from utilities.forms.fields import ExpandableIPNetworkField, NumericArrayField
  5. __all__ = (
  6. 'IPNetworkBulkCreateForm',
  7. 'VLANIDBulkCreateForm',
  8. )
  9. class IPNetworkBulkCreateForm(forms.Form):
  10. """
  11. Pattern form for bulk-creating IP-based objects (addresses, prefixes).
  12. """
  13. pattern = ExpandableIPNetworkField(
  14. label=_('Pattern')
  15. )
  16. class VLANIDBulkCreateForm(forms.Form):
  17. pattern = NumericArrayField(
  18. base_field=forms.IntegerField(
  19. min_value=VLAN_VID_MIN,
  20. max_value=VLAN_VID_MAX
  21. ),
  22. label=_('VLAN IDs'),
  23. help_text=_(
  24. 'Enter VLAN IDs and ranges separated by commas. '
  25. 'Example: 100,200-210,3100-3299'
  26. )
  27. )