Coverage for vendor / views.py: 100%

41 statements  

« prev     ^ index     » next       coverage.py v7.13.5, created at 2026-03-24 12:43 +0000

1from django.contrib.auth.mixins import LoginRequiredMixin 

2 

3from sm.views import SafeDeleteMixin 

4from sm.mixins import MultiTenantMixin 

5 

6from .models import Model 

7from .forms import Form, FormDisabled 

8from . import app_label 

9 

10from django.views.generic import ListView as GenericListView 

11from django.views.generic.edit import UpdateView as GenericUpdateView 

12from django.views.generic.edit import CreateView as GenericCreateView 

13from django.views.generic.edit import DeleteView as GenericDeleteView 

14from django.contrib.messages.views import SuccessMessageMixin 

15 

16from django.utils.translation import gettext as _ 

17 

18try: 

19 from django.urls import reverse_lazy 

20except Exception: # pragma: no cover 

21 from django.urls import reverse_lazy # pragma: no cover 

22 

23 

24class ListView(LoginRequiredMixin, MultiTenantMixin, GenericListView): 

25 template_name = "%s/list.html" % app_label 

26 model = Model 

27 paginate_by = 20 

28 paginate_orphans = paginate_by / 4 

29 ordering = "name" 

30 

31 

32class DetailView(LoginRequiredMixin, MultiTenantMixin, GenericUpdateView): 

33 template_name = "%s/detail.html" % app_label 

34 model = Model 

35 form_class = FormDisabled 

36 

37 

38class UpdateView( 

39 SuccessMessageMixin, LoginRequiredMixin, MultiTenantMixin, GenericUpdateView 

40): 

41 success_message = "%(name)s " + _("was updated successfully") 

42 model = Model 

43 template_name = "%s/edit.html" % app_label 

44 form_class = Form 

45 success_url = reverse_lazy("%s:index" % app_label) 

46 

47 

48class CreateView( 

49 SuccessMessageMixin, LoginRequiredMixin, MultiTenantMixin, GenericCreateView 

50): 

51 success_message = "%(name)s " + _("was created successfully") 

52 template_name = "%s/edit.html" % app_label 

53 fields = "__all__" 

54 model = Model 

55 success_url = reverse_lazy("%s:index" % app_label) 

56 

57 

58class DeleteView( 

59 SafeDeleteMixin, LoginRequiredMixin, MultiTenantMixin, GenericDeleteView 

60): 

61 success_message = "%(name)s " + _("was deleted successfully") 

62 template_name = "delete.html" 

63 model = Model 

64 success_url = reverse_lazy("%s:index" % app_label)