1
0

comments.py 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. from django_tables2 import SingleTableView
  2. from django.views.generic.edit import UpdateView, CreateView, DeleteView
  3. from SharixAdmin.tables import CommentsTable
  4. from django.contrib.auth.mixins import UserPassesTestMixin
  5. from SharixAdmin.forms import CommentsCreateForm, ServiceTypeUpdateForm
  6. from dbsynce.models import ServiceType
  7. from django.urls import reverse
  8. from django.utils.translation import gettext as _
  9. class CommentsCreate(UserPassesTestMixin, CreateView):
  10. model = ServiceType
  11. form_class = CommentsCreateForm
  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({
  16. 'title': _('Комментарии'),
  17. 'object': self.object,
  18. "current_page": "comments"
  19. })
  20. return context
  21. def get_success_url(self):
  22. return reverse('comments')
  23. def test_func(self) -> bool or None:
  24. group_names = ('METASERVICE-ADMIN')
  25. if bool(self.request.user.groups.filter(name=group_names)) or self.request.user.is_superuser:
  26. return True
  27. return False
  28. class CommentsListView(UserPassesTestMixin, SingleTableView):
  29. table_class = CommentsTable
  30. queryset = ServiceType.objects.all()
  31. template_name = 'SharixAdmin/comments.html'
  32. def get_context_data(self, **kwargs):
  33. context = super().get_context_data(**kwargs)
  34. context.update({
  35. 'title': 'Комментарии',
  36. 'object_list': context['object_list'],
  37. "current_page": "comments"
  38. })
  39. return context
  40. def testing(self, queryset, is_descending):
  41. queryset = queryset.annotate.order_by("-" if is_descending else "")
  42. return (queryset, True)
  43. def test_func(self) -> bool or None:
  44. group_names = ('METASERVICE-ADMIN')
  45. if bool(self.request.user.groups.filter(name=group_names)) or self.request.user.is_superuser:
  46. return True
  47. return False