bulk_edit.py 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. from django import forms
  2. from dcim.choices import LinkStatusChoices
  3. from ipam.models import VLAN
  4. from netbox.forms import NetBoxModelBulkEditForm
  5. from utilities.forms import add_blank_choice, 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(NetBoxModelBulkEditForm):
  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. nullable_fields = ('parent', 'description')
  28. class WirelessLANBulkEditForm(NetBoxModelBulkEditForm):
  29. pk = forms.ModelMultipleChoiceField(
  30. queryset=WirelessLAN.objects.all(),
  31. widget=forms.MultipleHiddenInput
  32. )
  33. group = DynamicModelChoiceField(
  34. queryset=WirelessLANGroup.objects.all(),
  35. required=False
  36. )
  37. vlan = DynamicModelChoiceField(
  38. queryset=VLAN.objects.all(),
  39. required=False,
  40. label='VLAN'
  41. )
  42. ssid = forms.CharField(
  43. max_length=SSID_MAX_LENGTH,
  44. required=False,
  45. label='SSID'
  46. )
  47. description = forms.CharField(
  48. required=False
  49. )
  50. auth_type = forms.ChoiceField(
  51. choices=add_blank_choice(WirelessAuthTypeChoices),
  52. required=False
  53. )
  54. auth_cipher = forms.ChoiceField(
  55. choices=add_blank_choice(WirelessAuthCipherChoices),
  56. required=False
  57. )
  58. auth_psk = forms.CharField(
  59. required=False,
  60. label='Pre-shared key'
  61. )
  62. nullable_fields = (
  63. 'ssid', 'group', 'vlan', 'description', 'auth_type', 'auth_cipher', 'auth_psk',
  64. )
  65. class WirelessLinkBulkEditForm(NetBoxModelBulkEditForm):
  66. pk = forms.ModelMultipleChoiceField(
  67. queryset=WirelessLink.objects.all(),
  68. widget=forms.MultipleHiddenInput
  69. )
  70. ssid = forms.CharField(
  71. max_length=SSID_MAX_LENGTH,
  72. required=False,
  73. label='SSID'
  74. )
  75. status = forms.ChoiceField(
  76. choices=add_blank_choice(LinkStatusChoices),
  77. required=False
  78. )
  79. description = forms.CharField(
  80. required=False
  81. )
  82. auth_type = forms.ChoiceField(
  83. choices=add_blank_choice(WirelessAuthTypeChoices),
  84. required=False
  85. )
  86. auth_cipher = forms.ChoiceField(
  87. choices=add_blank_choice(WirelessAuthCipherChoices),
  88. required=False
  89. )
  90. auth_psk = forms.CharField(
  91. required=False,
  92. label='Pre-shared key'
  93. )
  94. nullable_fields = (
  95. 'ssid', 'description', 'auth_type', 'auth_cipher', 'auth_psk',
  96. )