order.py 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. from django import forms
  2. from dbsynce.models import Orders
  3. from dbsynce.models import Client
  4. from dbsynce.models import Company
  5. from dbsynce.models import Service
  6. from dbsynce.models import ServiceCategory
  7. from dbsynce.models import Provider
  8. from tickets.models import Ticket
  9. from django.contrib.auth import get_user_model
  10. class OrderForm(forms.ModelForm):
  11. def __init__(self, *args, **kwargs):
  12. super(OrderForm, self).__init__(*args, **kwargs)
  13. # Добавляем класс .form-control для всех полей формы
  14. for field in iter(self.fields):
  15. if 'class' not in self.fields[field].widget.attrs:
  16. self.fields[field].widget.attrs.update({'class': 'form-control'})
  17. class Meta:
  18. model = Orders
  19. fields = [
  20. 'status', 'title', 'note', 'time_placed', 'time_start', 'time_start_real',
  21. 'time_start_predicted', 'time_finish_real', 'time_finish_predicted',
  22. 'real_price', 'predicted_price', 'asap', 'ticket', 'service',
  23. 'service_category', 'client', 'provider', 'receiver', 'company'
  24. ]
  25. widgets = {
  26. 'time_placed': forms.DateTimeInput(attrs={'type': 'datetime-local'}),
  27. 'time_start': forms.DateTimeInput(attrs={'type': 'datetime-local'}),
  28. 'time_start_real': forms.DateTimeInput(attrs={'type': 'datetime-local'}),
  29. 'time_start_predicted': forms.DateTimeInput(attrs={'type': 'datetime-local'}),
  30. 'time_finish_real': forms.DateTimeInput(attrs={'type': 'datetime-local'}),
  31. 'time_finish_predicted': forms.DateTimeInput(attrs={'type': 'datetime-local'}),
  32. }
  33. def __init__(self, *args, **kwargs):
  34. super().__init__(*args, **kwargs)
  35. self.fields['receiver'].queryset = get_user_model().objects.all()
  36. self.fields['client'].queryset = Client.objects.all()
  37. self.fields['company'].queryset = Company.objects.all()
  38. self.fields['provider'].queryset = Provider.objects.all()
  39. self.fields['service'].queryset = Service.objects.all()
  40. self.fields['service_category'].queryset = ServiceCategory.objects.all()
  41. self.fields['ticket'].queryset = Ticket.objects.all()