Coverage for cluster/views.py: 100%
46 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
3from sm.views import SafeDeleteMixin, GenericCSVExportView, GenericBulkDeleteView
4from sm.mixins import MultiTenantMixin, BulkActionMixin
6from .models import Model
7from .forms import Form, FormDisabled
8from . import app_label
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
16from django.utils.translation import gettext as _
18from django.urls import reverse_lazy
21class ListView(LoginRequiredMixin, MultiTenantMixin, BulkActionMixin, GenericListView):
22 template_name = "%s/list.html" % app_label
23 model = Model
24 paginate_by = 20
25 paginate_orphans = paginate_by / 4
26 ordering = "name"
29class DetailView(LoginRequiredMixin, MultiTenantMixin, GenericUpdateView):
30 template_name = "%s/detail.html" % app_label
31 model = Model
32 form_class = FormDisabled
35class UpdateView(
36 SuccessMessageMixin,
37 LoginRequiredMixin,
38 MultiTenantMixin,
39 GenericUpdateView,
40):
41 success_message = "%(name)s " + _("was updated successfully")
42 template_name = "%s/edit.html" % app_label
43 model = Model
44 form_class = Form
45 success_url = reverse_lazy("%s:index" % app_label)
48class CreateView(
49 SuccessMessageMixin,
50 LoginRequiredMixin,
51 MultiTenantMixin,
52 GenericCreateView,
53):
54 success_message = "%(name)s " + _("was created successfully")
56 template_name = "%s/edit.html" % app_label
57 form_class = Form
58 model = Model
59 success_url = reverse_lazy("%s:index" % app_label)
62class DeleteView(
63 SafeDeleteMixin,
64 LoginRequiredMixin,
65 MultiTenantMixin,
66 GenericDeleteView,
67):
68 success_message = "%(name)s " + _("was deleted successfully")
69 template_name = "delete.html"
70 model = Model
71 success_url = reverse_lazy("%s:index" % app_label)
74class BulkDeleteView(GenericBulkDeleteView):
75 model = Model
78class CSVExportView(GenericCSVExportView):
79 model = Model
80 filename = "cluster.csv"
81 export_fields = [
82 ("name", "name"),
83 ("clustersoftware", "clustersoftware__name"),
84 ]