Нема описа

forms.py 3.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. from django.forms.models import inlineformset_factory, modelform_factory, modelformset_factory
  2. from django import forms
  3. from .models import Store, Product, Photo, ProductSKU, Sale, Inbox, Vendor, VendorOrder, VendorProduct
  4. from django.forms import ModelForm
  5. from django_google_maps import widgets as map_widgets
  6. from django_google_maps import fields as map_fields
  7. import django_filters
  8. from django.contrib.auth.forms import UserCreationForm
  9. from django.contrib.auth.models import User
  10. GeneralWidgets = {
  11. 'startDate': forms.DateInput(format="%d/%m/%Y",attrs={'type': 'text', 'class': 'datepicker'}),
  12. 'address': map_widgets.GoogleMapsAddressWidget,
  13. 'photo': forms.FileInput,
  14. 'sub_total': forms.TextInput(attrs={'readonly': 'readonly'}),
  15. 'vat': forms.TextInput(attrs={'readonly': 'readonly'}),
  16. 'total': forms.TextInput(attrs={'readonly': 'readonly'}),
  17. }
  18. StoreForm = modelform_factory(
  19. Store,
  20. fields="__all__",
  21. widgets = GeneralWidgets,
  22. )
  23. ProductSKUForm = modelform_factory(
  24. ProductSKU,
  25. fields="__all__",
  26. widgets = GeneralWidgets,
  27. )
  28. ProductForm = modelform_factory(
  29. Product,
  30. fields="__all__",
  31. exclude = ("store", ),
  32. widgets = GeneralWidgets,
  33. )
  34. SaleForm = modelform_factory(
  35. Sale,
  36. fields="__all__",
  37. #exclude = ("store", ),
  38. widgets = GeneralWidgets,
  39. )
  40. InboxForm = modelform_factory(
  41. Inbox,
  42. fields="__all__",
  43. #exclude = ("store", ),
  44. widgets = GeneralWidgets,
  45. )
  46. VendorForm = modelform_factory(
  47. Vendor,
  48. fields="__all__",
  49. exclude = ("store", ),
  50. widgets = GeneralWidgets,
  51. )
  52. VendorProductForm = modelform_factory(
  53. VendorProduct,
  54. fields="__all__",
  55. exclude = ("store", "vendor"),
  56. widgets = GeneralWidgets,
  57. )
  58. VendorOrderForm = modelform_factory(
  59. VendorOrder,
  60. fields="__all__",
  61. exclude = ("store", ),
  62. widgets = GeneralWidgets,
  63. )
  64. PhotoFormSet = modelformset_factory(
  65. Photo,
  66. fields="__all__",
  67. exclude = ("product", ),
  68. #extra = 3,
  69. widgets = GeneralWidgets,
  70. )
  71. InlinePhotoFormset = inlineformset_factory(Product, Photo, fields="__all__", widgets= GeneralWidgets)
  72. InlineVendorProductFormset = inlineformset_factory(Vendor, VendorProduct, fields="__all__", widgets= GeneralWidgets)
  73. class ProductFilter(django_filters.FilterSet):
  74. class Meta:
  75. model = Product
  76. fields = ['name', 'code', 'price']
  77. class SaleFilter(django_filters.FilterSet):
  78. class Meta:
  79. model = Sale
  80. fields = ['product', 'sku', 'buyer', 'n_unit', 'unit_name']
  81. class InboxFilter(django_filters.FilterSet):
  82. class Meta:
  83. model = Inbox
  84. fields = ['store', 'product', 'buyer', 'subject', 'body', 'tel', 'status', 'created_at']
  85. class VendorFilter(django_filters.FilterSet):
  86. class Meta:
  87. model = Vendor
  88. fields = ['name', 'code', 'description', 'tel', 'line_id', 'email', 'created_at']
  89. class VendorOrderFilter(django_filters.FilterSet):
  90. class Meta:
  91. model = VendorOrder
  92. fields = ['vendor', 'product', 'store', 'price', 'n_unit', 'unit_name', 'total', 'created_at']
  93. class SignUpForm(UserCreationForm):
  94. email = forms.EmailField(max_length=254, help_text='Required. Inform a valid email address.')
  95. class Meta:
  96. model = User
  97. fields = ('username', 'email', 'password1', 'password2', )