bulk_edit.py 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. from django import forms
  2. from extras.forms import AddRemoveTagsForm, CustomFieldModelBulkEditForm
  3. from tenancy.models import *
  4. from utilities.forms import BootstrapMixin, DynamicModelChoiceField
  5. __all__ = (
  6. 'ContactBulkEditForm',
  7. 'ContactGroupBulkEditForm',
  8. 'ContactRoleBulkEditForm',
  9. 'TenantBulkEditForm',
  10. 'TenantGroupBulkEditForm',
  11. )
  12. #
  13. # Tenants
  14. #
  15. class TenantGroupBulkEditForm(BootstrapMixin, CustomFieldModelBulkEditForm):
  16. pk = forms.ModelMultipleChoiceField(
  17. queryset=TenantGroup.objects.all(),
  18. widget=forms.MultipleHiddenInput
  19. )
  20. parent = DynamicModelChoiceField(
  21. queryset=TenantGroup.objects.all(),
  22. required=False
  23. )
  24. description = forms.CharField(
  25. max_length=200,
  26. required=False
  27. )
  28. class Meta:
  29. nullable_fields = ['parent', 'description']
  30. class TenantBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBulkEditForm):
  31. pk = forms.ModelMultipleChoiceField(
  32. queryset=Tenant.objects.all(),
  33. widget=forms.MultipleHiddenInput()
  34. )
  35. group = DynamicModelChoiceField(
  36. queryset=TenantGroup.objects.all(),
  37. required=False
  38. )
  39. class Meta:
  40. nullable_fields = [
  41. 'group',
  42. ]
  43. #
  44. # Contacts
  45. #
  46. class ContactGroupBulkEditForm(BootstrapMixin, CustomFieldModelBulkEditForm):
  47. pk = forms.ModelMultipleChoiceField(
  48. queryset=ContactGroup.objects.all(),
  49. widget=forms.MultipleHiddenInput
  50. )
  51. parent = DynamicModelChoiceField(
  52. queryset=ContactGroup.objects.all(),
  53. required=False
  54. )
  55. description = forms.CharField(
  56. max_length=200,
  57. required=False
  58. )
  59. class Meta:
  60. nullable_fields = ['parent', 'description']
  61. class ContactRoleBulkEditForm(BootstrapMixin, CustomFieldModelBulkEditForm):
  62. pk = forms.ModelMultipleChoiceField(
  63. queryset=ContactRole.objects.all(),
  64. widget=forms.MultipleHiddenInput
  65. )
  66. description = forms.CharField(
  67. max_length=200,
  68. required=False
  69. )
  70. class Meta:
  71. nullable_fields = ['description']
  72. class ContactBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBulkEditForm):
  73. pk = forms.ModelMultipleChoiceField(
  74. queryset=Contact.objects.all(),
  75. widget=forms.MultipleHiddenInput()
  76. )
  77. group = DynamicModelChoiceField(
  78. queryset=ContactGroup.objects.all(),
  79. required=False
  80. )
  81. class Meta:
  82. nullable_fields = ['group', 'title', 'phone', 'email', 'address', 'comments']