Coverage for clusterpackagetype/views.py: 100%

48 statements  

« prev     ^ index     » next       coverage.py v7.17.0, created at 2026-10-24 19:06 +0000

1from django.contrib.auth.mixins import LoginRequiredMixin 

2from sm.views import SafeDeleteMixin, GenericCSVExportView, GenericBulkDeleteView 

3from sm.mixins import MultiTenantMixin, BulkActionMixin 

4 

5from .models import Model 

6from .forms import Form, FormDisabled 

7from . import app_label 

8 

9from django.views.generic import ListView as GenericListView 

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

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

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

13from django.contrib.messages.views import SuccessMessageMixin 

14 

15from django.utils.translation import gettext as _ 

16 

17from django.urls import reverse_lazy 

18 

19 

20class ListView(LoginRequiredMixin, MultiTenantMixin, BulkActionMixin, GenericListView): 

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

22 model = Model 

23 paginate_by = 20 

24 paginate_orphans = paginate_by / 4 

25 ordering = "name" 

26 

27 def get_queryset(self): 

28 return super().get_queryset().order_by("name") 

29 

30 

31class DetailView(LoginRequiredMixin, MultiTenantMixin, GenericUpdateView): 

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

33 model = Model 

34 form_class = FormDisabled 

35 

36 

37class UpdateView( 

38 SuccessMessageMixin, LoginRequiredMixin, MultiTenantMixin, GenericUpdateView 

39): 

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

41 

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

43 model = Model 

44 

45 form_class = Form 

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

47 

48 

49class CreateView( 

50 SuccessMessageMixin, LoginRequiredMixin, MultiTenantMixin, GenericCreateView 

51): 

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

53 

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

55 form_class = Form 

56 model = Model 

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

58 

59 

60class DeleteView( 

61 SafeDeleteMixin, LoginRequiredMixin, MultiTenantMixin, GenericDeleteView 

62): 

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

64 template_name = "delete.html" 

65 model = Model 

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

67 

68 

69class BulkDeleteView(GenericBulkDeleteView): 

70 model = Model 

71 

72 

73class CSVExportView(GenericCSVExportView): 

74 model = Model 

75 filename = "clusterpackagetype.csv" 

76 export_fields = [ 

77 ("name", "name"), 

78 ]