service_type.py 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. from django_tables2 import SingleTableView
  2. from django.views.generic.edit import UpdateView, CreateView, DeleteView
  3. from SharixAdmin.tables import ServiceTypeTable
  4. from django.contrib.auth.mixins import UserPassesTestMixin
  5. from SharixAdmin.forms import ServiceTypeCreateForm, ServiceTypeUpdateForm
  6. from metaservicesynced.models import ServiceType
  7. from django.urls import reverse
  8. from SharixAdmin.views.context import get_context
  9. class ServiceTypeCreate(UserPassesTestMixin, CreateView):
  10. model = ServiceType
  11. form_class = ServiceTypeCreateForm
  12. template_name = "SharixAdmin/service_type_form.html"
  13. def get_context_data(self, **kwargs):
  14. context = super().get_context_data(**kwargs)
  15. context.update(get_context(self.request, {
  16. 'title': 'Услуги сервиса',
  17. 'object': self.object,
  18. }))
  19. return context
  20. def get_success_url(self):
  21. return reverse('service_type')
  22. def test_func(self) -> bool or None:
  23. group_names = ('METASERVICE-ADMIN')
  24. if bool(self.request.user.groups.filter(name__in=group_names)) or self.request.user.is_superuser:
  25. return True
  26. return False
  27. class ServiceTypeListView(UserPassesTestMixin, SingleTableView):
  28. table_class = ServiceTypeTable
  29. queryset = ServiceType.objects.all()
  30. template_name = 'SharixAdmin/service_type.html'
  31. def get_context_data(self, **kwargs):
  32. context = super().get_context_data(**kwargs)
  33. context.update(get_context(self.request, {
  34. 'title': 'Услуги сервиса',
  35. 'object_list': context['object_list'],
  36. }))
  37. return context
  38. def test_func(self) -> bool or None:
  39. group_names = ('METASERVICE-ADMIN')
  40. if bool(self.request.user.groups.filter(name__in=group_names)) or self.request.user.is_superuser:
  41. return True
  42. return False
  43. class ServiceTypeUpdateView(UserPassesTestMixin, UpdateView):
  44. model = ServiceType
  45. form_class = ServiceTypeUpdateForm
  46. template_name = "SharixAdmin/service_type_form.html"
  47. def get_context_data(self, **kwargs):
  48. context = super().get_context_data(**kwargs)
  49. context.update(get_context(self.request, {
  50. 'title': 'Тарифы услуг',
  51. 'object_list': context['object_list'],
  52. }))
  53. return context
  54. def test_func(self) -> bool or None:
  55. group_names = ('METASERVICE-ADMIN')
  56. if bool(self.request.user.groups.filter(name__in=group_names)) or self.request.user.is_superuser:
  57. return True
  58. return False
  59. class ServiceTypeDelete(UserPassesTestMixin, DeleteView):
  60. model = ServiceType
  61. template_name = "SharixAdmin/service_type_delete.html"
  62. def get_context_data(self, **kwargs):
  63. context = super().get_context_data(**kwargs)
  64. context.update(get_context(self.request, {
  65. 'title': 'Услуги сервиса',
  66. 'object': self.object,
  67. }))
  68. return context
  69. def get_success_url(self):
  70. return reverse('service_type')
  71. def test_func(self) -> bool or None:
  72. group_names = ('METASERVICE-ADMIN')
  73. if bool(self.request.user.groups.filter(name__in=group_names)) or self.request.user.is_superuser:
  74. return True
  75. return False