bulk_edit.py 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218
  1. from django import forms
  2. from django.utils.translation import gettext as _
  3. from extras.choices import *
  4. from extras.models import *
  5. from utilities.forms import (
  6. add_blank_choice, BulkEditForm, BulkEditNullBooleanSelect, ColorField, StaticSelect,
  7. )
  8. __all__ = (
  9. 'ConfigContextBulkEditForm',
  10. 'CustomFieldBulkEditForm',
  11. 'CustomLinkBulkEditForm',
  12. 'ExportTemplateBulkEditForm',
  13. 'JournalEntryBulkEditForm',
  14. 'SavedFilterBulkEditForm',
  15. 'TagBulkEditForm',
  16. 'WebhookBulkEditForm',
  17. )
  18. class CustomFieldBulkEditForm(BulkEditForm):
  19. pk = forms.ModelMultipleChoiceField(
  20. queryset=CustomField.objects.all(),
  21. widget=forms.MultipleHiddenInput
  22. )
  23. group_name = forms.CharField(
  24. required=False
  25. )
  26. description = forms.CharField(
  27. required=False
  28. )
  29. required = forms.NullBooleanField(
  30. required=False,
  31. widget=BulkEditNullBooleanSelect()
  32. )
  33. weight = forms.IntegerField(
  34. required=False
  35. )
  36. ui_visibility = forms.ChoiceField(
  37. label=_("UI visibility"),
  38. choices=add_blank_choice(CustomFieldVisibilityChoices),
  39. required=False,
  40. initial='',
  41. widget=StaticSelect()
  42. )
  43. nullable_fields = ('group_name', 'description',)
  44. class CustomLinkBulkEditForm(BulkEditForm):
  45. pk = forms.ModelMultipleChoiceField(
  46. queryset=CustomLink.objects.all(),
  47. widget=forms.MultipleHiddenInput
  48. )
  49. enabled = forms.NullBooleanField(
  50. required=False,
  51. widget=BulkEditNullBooleanSelect()
  52. )
  53. new_window = forms.NullBooleanField(
  54. required=False,
  55. widget=BulkEditNullBooleanSelect()
  56. )
  57. weight = forms.IntegerField(
  58. required=False
  59. )
  60. button_class = forms.ChoiceField(
  61. choices=add_blank_choice(CustomLinkButtonClassChoices),
  62. required=False,
  63. widget=StaticSelect()
  64. )
  65. class ExportTemplateBulkEditForm(BulkEditForm):
  66. pk = forms.ModelMultipleChoiceField(
  67. queryset=ExportTemplate.objects.all(),
  68. widget=forms.MultipleHiddenInput
  69. )
  70. description = forms.CharField(
  71. max_length=200,
  72. required=False
  73. )
  74. mime_type = forms.CharField(
  75. max_length=50,
  76. required=False
  77. )
  78. file_extension = forms.CharField(
  79. max_length=15,
  80. required=False
  81. )
  82. as_attachment = forms.NullBooleanField(
  83. required=False,
  84. widget=BulkEditNullBooleanSelect()
  85. )
  86. nullable_fields = ('description', 'mime_type', 'file_extension')
  87. class SavedFilterBulkEditForm(BulkEditForm):
  88. pk = forms.ModelMultipleChoiceField(
  89. queryset=SavedFilter.objects.all(),
  90. widget=forms.MultipleHiddenInput
  91. )
  92. description = forms.CharField(
  93. max_length=200,
  94. required=False
  95. )
  96. weight = forms.IntegerField(
  97. required=False
  98. )
  99. enabled = forms.NullBooleanField(
  100. required=False,
  101. widget=BulkEditNullBooleanSelect()
  102. )
  103. shared = forms.NullBooleanField(
  104. required=False,
  105. widget=BulkEditNullBooleanSelect()
  106. )
  107. nullable_fields = ('description',)
  108. class WebhookBulkEditForm(BulkEditForm):
  109. pk = forms.ModelMultipleChoiceField(
  110. queryset=Webhook.objects.all(),
  111. widget=forms.MultipleHiddenInput
  112. )
  113. enabled = forms.NullBooleanField(
  114. required=False,
  115. widget=BulkEditNullBooleanSelect()
  116. )
  117. type_create = forms.NullBooleanField(
  118. required=False,
  119. widget=BulkEditNullBooleanSelect()
  120. )
  121. type_update = forms.NullBooleanField(
  122. required=False,
  123. widget=BulkEditNullBooleanSelect()
  124. )
  125. type_delete = forms.NullBooleanField(
  126. required=False,
  127. widget=BulkEditNullBooleanSelect()
  128. )
  129. http_method = forms.ChoiceField(
  130. choices=add_blank_choice(WebhookHttpMethodChoices),
  131. required=False,
  132. label=_('HTTP method')
  133. )
  134. payload_url = forms.CharField(
  135. required=False,
  136. label=_('Payload URL')
  137. )
  138. ssl_verification = forms.NullBooleanField(
  139. required=False,
  140. widget=BulkEditNullBooleanSelect(),
  141. label=_('SSL verification')
  142. )
  143. secret = forms.CharField(
  144. required=False
  145. )
  146. ca_file_path = forms.CharField(
  147. required=False,
  148. label=_('CA file path')
  149. )
  150. nullable_fields = ('secret', 'conditions', 'ca_file_path')
  151. class TagBulkEditForm(BulkEditForm):
  152. pk = forms.ModelMultipleChoiceField(
  153. queryset=Tag.objects.all(),
  154. widget=forms.MultipleHiddenInput
  155. )
  156. color = ColorField(
  157. required=False
  158. )
  159. description = forms.CharField(
  160. max_length=200,
  161. required=False
  162. )
  163. nullable_fields = ('description',)
  164. class ConfigContextBulkEditForm(BulkEditForm):
  165. pk = forms.ModelMultipleChoiceField(
  166. queryset=ConfigContext.objects.all(),
  167. widget=forms.MultipleHiddenInput
  168. )
  169. weight = forms.IntegerField(
  170. required=False,
  171. min_value=0
  172. )
  173. is_active = forms.NullBooleanField(
  174. required=False,
  175. widget=BulkEditNullBooleanSelect()
  176. )
  177. description = forms.CharField(
  178. required=False,
  179. max_length=100
  180. )
  181. nullable_fields = ('description',)
  182. class JournalEntryBulkEditForm(BulkEditForm):
  183. pk = forms.ModelMultipleChoiceField(
  184. queryset=JournalEntry.objects.all(),
  185. widget=forms.MultipleHiddenInput
  186. )
  187. kind = forms.ChoiceField(
  188. choices=add_blank_choice(JournalEntryKindChoices),
  189. required=False
  190. )
  191. comments = forms.CharField(
  192. required=False,
  193. widget=forms.Textarea()
  194. )