bulk_edit.py 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. from django import forms
  2. from dcim.choices import LinkStatusChoices
  3. from extras.forms import AddRemoveTagsForm, CustomFieldModelBulkEditForm
  4. from ipam.models import VLAN
  5. from utilities.forms import DynamicModelChoiceField
  6. from wireless.choices import *
  7. from wireless.constants import SSID_MAX_LENGTH
  8. from wireless.models import *
  9. __all__ = (
  10. 'WirelessLANBulkEditForm',
  11. 'WirelessLANGroupBulkEditForm',
  12. 'WirelessLinkBulkEditForm',
  13. )
  14. class WirelessLANGroupBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm):
  15. pk = forms.ModelMultipleChoiceField(
  16. queryset=WirelessLANGroup.objects.all(),
  17. widget=forms.MultipleHiddenInput
  18. )
  19. parent = DynamicModelChoiceField(
  20. queryset=WirelessLANGroup.objects.all(),
  21. required=False
  22. )
  23. description = forms.CharField(
  24. max_length=200,
  25. required=False
  26. )
  27. class Meta:
  28. nullable_fields = ['parent', 'description']
  29. class WirelessLANBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm):
  30. pk = forms.ModelMultipleChoiceField(
  31. queryset=WirelessLAN.objects.all(),
  32. widget=forms.MultipleHiddenInput
  33. )
  34. group = DynamicModelChoiceField(
  35. queryset=WirelessLANGroup.objects.all(),
  36. required=False
  37. )
  38. vlan = DynamicModelChoiceField(
  39. queryset=VLAN.objects.all(),
  40. required=False,
  41. )
  42. ssid = forms.CharField(
  43. max_length=SSID_MAX_LENGTH,
  44. required=False
  45. )
  46. description = forms.CharField(
  47. required=False
  48. )
  49. auth_type = forms.ChoiceField(
  50. choices=WirelessAuthTypeChoices,
  51. required=False
  52. )
  53. auth_cipher = forms.ChoiceField(
  54. choices=WirelessAuthCipherChoices,
  55. required=False
  56. )
  57. auth_psk = forms.CharField(
  58. required=False
  59. )
  60. class Meta:
  61. nullable_fields = ['ssid', 'group', 'vlan', 'description', 'auth_type', 'auth_cipher', 'auth_psk']
  62. class WirelessLinkBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm):
  63. pk = forms.ModelMultipleChoiceField(
  64. queryset=WirelessLink.objects.all(),
  65. widget=forms.MultipleHiddenInput
  66. )
  67. ssid = forms.CharField(
  68. max_length=SSID_MAX_LENGTH,
  69. required=False
  70. )
  71. status = forms.ChoiceField(
  72. choices=LinkStatusChoices,
  73. required=False
  74. )
  75. description = forms.CharField(
  76. required=False
  77. )
  78. auth_type = forms.ChoiceField(
  79. choices=WirelessAuthTypeChoices,
  80. required=False
  81. )
  82. auth_cipher = forms.ChoiceField(
  83. choices=WirelessAuthCipherChoices,
  84. required=False
  85. )
  86. auth_psk = forms.CharField(
  87. required=False
  88. )
  89. class Meta:
  90. nullable_fields = ['ssid', 'description', 'auth_type', 'auth_cipher', 'auth_psk']