service.py 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274
  1. from dbsynce.models import ServiceCategory, Service, Company
  2. from django import forms
  3. from sharix_admin.forms import BaseForm
  4. #RESOURCE_TYPE_CHOICES = [
  5. # ('1', 'Только время'),
  6. # ('2', 'Только расстояние'),
  7. # ('3', 'За единицу услуги'),
  8. # ('4', 'Время за расстояние'),
  9. # ('5', 'Единицы за расстояние'),
  10. # ('6', 'Единицы за время'),
  11. #]
  12. class ServiceTariffUpdateForm(forms.ModelForm):
  13. def __init__(self, *args, **kwargs):
  14. super(ServiceTariffUpdateForm, self).__init__(*args, **kwargs)
  15. # Добавляет стиль бутстрапа form-control всем полям таблицы если у них нет своих стилей
  16. for field in iter(self.fields):
  17. if 'class' not in self.fields[field].widget.attrs:
  18. self.fields[field].widget.attrs.update({'class': 'form-control'})
  19. class Meta:
  20. model = Service
  21. fields = [
  22. #'status',
  23. #'ticket_status',
  24. 'service_category',
  25. 'requirements',
  26. 'company_comission',
  27. 'codename',
  28. 'caption',
  29. 'description',
  30. 'resource_type',
  31. # 'price_type',
  32. 'price_km',
  33. 'price_min',
  34. 'price_amount',
  35. 'is_global',
  36. 'is_visible'
  37. ]
  38. widgets = {
  39. 'status': forms.TextInput(attrs={'readonly': True}, ),
  40. 'ticket_status': forms.TextInput(attrs={'readonly': True}),
  41. 'requirements': forms.TextInput(attrs={'readonly': True}),
  42. 'resource_type': forms.TextInput(attrs={'readonly': True}),
  43. # 'price_type': forms.TextInput(attrs={'readonly': True}),
  44. 'service_category': forms.Select(attrs={'class': 'form-select', 'readonly': True}),
  45. #'resource': forms.Select(attrs={'class': 'form-select'}),
  46. }
  47. class ServiceTariffCreateForm(forms.ModelForm):
  48. company_comission = forms.FloatField(label="Комиссия Партнера")
  49. resource_type = forms.CharField(label="Необходимый тип ресурса")
  50. #resource_type = forms.ChoiceField(choices=RESOURCE_TYPE_CHOICES, label="Необходимый тип ресурса")
  51. codename = forms.CharField(label="Кодовое короткое название тарифа услуги")
  52. caption = forms.CharField(label="Название тарифа услуги")
  53. #requirements = forms.CharField(label="Требования")
  54. #price_type = forms.ChoiceField(choices=PRICE_CHOICES, label="Ценообразование")
  55. description = forms.CharField(label="Описание")
  56. # is_global = forms.BooleanField(label="Доступно во всех сервисах", required=False)
  57. # is_visible = forms.BooleanField(label="Доступно для планирования цепочек во всех сервисах", required=False)
  58. def __init__(self, *args, **kwargs):
  59. super(ServiceTariffCreateForm, self).__init__(*args, **kwargs)
  60. # Добавляет стиль бутстрапа form-control всем полям таблицы если у них нет своих стилей
  61. for field in iter(self.fields):
  62. if 'class' not in self.fields[field].widget.attrs:
  63. self.fields[field].widget.attrs.update({'class': 'form-control'})
  64. class Meta:
  65. model = Service
  66. #fields = '__all__'
  67. fields = [
  68. 'service_category',
  69. 'company_comission',
  70. 'codename',
  71. 'caption',
  72. 'description',
  73. 'resource_type',
  74. ]
  75. #company - использовать ту, у которой сейчас отображаются услуги
  76. #resource - показывать только те, которые имеют отношение к компании
  77. widgets = {
  78. 'service_category': forms.Select(attrs={'class': 'form-select'}),
  79. #'resource': forms.Select(attrs={'class': 'form-select'}),
  80. 'ticket_status': forms.TextInput(attrs={'readonly': True}),
  81. }
  82. #TODO Merge with dicts!
  83. PRICE_CHOICES = [
  84. ('1', 'Только время'),
  85. ('2', 'Только расстояние'),
  86. ('3', 'За единицу услуги'),
  87. ('4', 'Время за расстояние'),
  88. ('5', 'Единицы за расстояние'),
  89. ('6', 'Единицы за время'),
  90. ]
  91. class ServiceCategoryUpdateForm(BaseForm, forms.ModelForm):
  92. price_type = forms.ChoiceField(choices=PRICE_CHOICES, label="Ценообразование")
  93. def __init__(self, *args, **kwargs):
  94. super(ServiceCategoryUpdateForm, self).__init__(*args, **kwargs)
  95. class Meta:
  96. model = ServiceCategory
  97. fields = [
  98. #'status',
  99. #'ticket_status',
  100. #'id_metaservice',
  101. 'codename',
  102. 'caption',
  103. 'description',
  104. #'requirements',
  105. 'price_type',
  106. 'link_agreement',
  107. 'is_global',
  108. 'is_visible'
  109. ]
  110. #widgets = {
  111. # 'status': forms.TextInput(attrs={'readonly': True}),
  112. # 'ticket_status': forms.TextInput(attrs={'readonly': True}),
  113. #}
  114. class ServiceCategoryCreateForm(BaseForm, forms.ModelForm):
  115. codename = forms.CharField(label="Кодовое короткое название услуги")
  116. caption = forms.CharField(label="Название услуги")
  117. #requirements = forms.CharField(label="Требования")
  118. price_type = forms.ChoiceField(choices=PRICE_CHOICES, label="Ценообразование")
  119. description = forms.CharField(label="Описание")
  120. link_agreement = forms.CharField(label="Ссылка на договор-оферту")
  121. metaservice_comission = forms.FloatField(label="Комиссия Сервиса")
  122. # is_global = forms.BooleanField(label="Доступно во всех сервисах", required=False)
  123. # is_visible = forms.BooleanField(label="Доступно для планирования цепочек во всех сервисах", required=False)
  124. def __init__(self, *args, **kwargs):
  125. super(ServiceCategoryCreateForm, self).__init__(*args, **kwargs)
  126. class Meta:
  127. model = ServiceCategory
  128. fields = [
  129. 'codename',
  130. 'caption',
  131. #'requirements',
  132. 'price_type',
  133. 'description',
  134. 'link_agreement',
  135. 'metaservice_comission',
  136. # 'is_global',
  137. # 'is_visible',
  138. ]
  139. widgets = {
  140. }
  141. class ServiceInformationUpdateForm(BaseForm, forms.ModelForm):
  142. def __init__(self, *args, **kwargs):
  143. super(ServiceInformationUpdateForm, self).__init__(*args, **kwargs)
  144. # Добавляет стиль бутстрапа form-control всем полям таблицы если у них нет своих стилей
  145. for field in iter(self.fields):
  146. if 'class' not in self.fields[field].widget.attrs:
  147. self.fields[field].widget.attrs.update({'class': 'form-control'})
  148. class Meta:
  149. model = Service
  150. fields = [
  151. 'service_category'
  152. ]
  153. widgets = {
  154. # 'status': forms.TextInput(attrs={'readonly': True}),
  155. # 'ticket_status': forms.TextInput(attrs={'readonly': True}),
  156. 'service_category': forms.Select(attrs={'class': 'form-select'}),
  157. # 'repr': forms.Select(attrs={'class': 'form-select'}),
  158. # 'resource': forms.Select(attrs={'class': 'form-select'}),
  159. }
  160. class ServiceInformationCreateForm(forms.ModelForm):
  161. def __init__(self, *args, **kwargs):
  162. super(ServiceInformationCreateForm, self).__init__(*args, **kwargs)
  163. # Добавляет стиль бутстрапа form-control всем полям таблицы если у них нет своих стилей
  164. for field in iter(self.fields):
  165. if 'class' not in self.fields[field].widget.attrs:
  166. self.fields[field].widget.attrs.update({'class': 'form-control'})
  167. class Meta:
  168. model = Service
  169. fields = "__all__"
  170. exclude = [
  171. "id",
  172. "is_global",
  173. "is_visible",
  174. "ticket_status",
  175. "id_metaservice",
  176. "resource"
  177. ]
  178. widgets = {
  179. # 'service_category': forms.CharField(max_length=255)
  180. # 'legal_name': forms.TextInput(label = 'Название')
  181. # 'service_category': forms.Select(attrs={'class': 'form-select'}),
  182. # 'repr': forms.Select(attrs={'class': 'form-select'}),
  183. # 'resource': forms.Select(attrs={'class': 'form-select'}),
  184. # 'ticket_status': forms.Select(attrs={'class': 'form-select'}),
  185. }
  186. class PartnerInformationUpdateForm(forms.ModelForm):
  187. def __init__(self, *args, **kwargs):
  188. super(PartnerInformationUpdateForm, self).__init__(*args, **kwargs)
  189. # Добавляет стиль бутстрапа form-control всем полям таблицы если у них нет своих стилей
  190. for field in iter(self.fields):
  191. if 'class' not in self.fields[field].widget.attrs:
  192. self.fields[field].widget.attrs.update({'class': 'form-control'})
  193. class Meta:
  194. model = Company
  195. fields = "__all__"
  196. exclude = [
  197. "id",
  198. "ticket_status",
  199. "is_global",
  200. "is_visible",
  201. "id_metaservice",
  202. "status"
  203. ]
  204. widgets = {
  205. 'description': forms.Select(attrs={'class': 'form-select'}),
  206. 'repr': forms.Select(attrs={'class': 'form-select'}),
  207. }
  208. class PartnerInformationCreateForm(forms.ModelForm):
  209. def __init__(self, *args, **kwargs):
  210. super(PartnerInformationCreateForm, self).__init__(*args, **kwargs)
  211. for field in iter(self.fields):
  212. if 'class' not in self.fields[field].widget.attrs:
  213. self.fields[field].widget.attrs.update({'class': 'form-control'})
  214. # legal_name = forms.Fi()
  215. class Meta:
  216. model = Company
  217. fields = "__all__"
  218. exclude = [
  219. "id",
  220. "ticket_status",
  221. "is_global",
  222. "is_visible",
  223. "id_metaservice",
  224. "status"
  225. ]
  226. widgets = {
  227. 'description': forms.Select(attrs={'class': 'form-select'}),
  228. 'repr': forms.Select(attrs={'class': 'form-select'}),
  229. }
  230. # username = forms.CharField(label="Номер телефона",
  231. # widget=forms.TextInput(attrs={'class':'form-control'}))