Coverage for clusterpackagetype/views.py: 100%
48 statements
« prev ^ index » next coverage.py v7.17.0, created at 2026-10-24 19:06 +0000
« 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
5from .models import Model
6from .forms import Form, FormDisabled
7from . import app_label
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
15from django.utils.translation import gettext as _
17from django.urls import reverse_lazy
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"
27 def get_queryset(self):
28 return super().get_queryset().order_by("name")
31class DetailView(LoginRequiredMixin, MultiTenantMixin, GenericUpdateView):
32 template_name = "%s/detail.html" % app_label
33 model = Model
34 form_class = FormDisabled
37class UpdateView(
38 SuccessMessageMixin, LoginRequiredMixin, MultiTenantMixin, GenericUpdateView
39):
40 success_message = "%(name)s " + _("was updated successfully")
42 template_name = "%s/edit.html" % app_label
43 model = Model
45 form_class = Form
46 success_url = reverse_lazy("%s:index" % app_label)
49class CreateView(
50 SuccessMessageMixin, LoginRequiredMixin, MultiTenantMixin, GenericCreateView
51):
52 success_message = "%(name)s " + _("was created successfully")
54 template_name = "%s/edit.html" % app_label
55 form_class = Form
56 model = Model
57 success_url = reverse_lazy("%s:index" % app_label)
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)
69class BulkDeleteView(GenericBulkDeleteView):
70 model = Model
73class CSVExportView(GenericCSVExportView):
74 model = Model
75 filename = "clusterpackagetype.csv"
76 export_fields = [
77 ("name", "name"),
78 ]