Coverage for location/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
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"
28class DetailView(LoginRequiredMixin, MultiTenantMixin, GenericUpdateView):
29 template_name = "%s/detail.html" % app_label
30 model = Model
31 form_class = FormDisabled
34class UpdateView(
35 SuccessMessageMixin, LoginRequiredMixin, MultiTenantMixin, GenericUpdateView
36):
37 success_message = "%(name)s " + _("was updated successfully")
38 model = Model
40 template_name = "%s/edit.html" % app_label
42 form_class = Form
43 success_url = reverse_lazy("%s:index" % app_label)
46class CreateView(
47 SuccessMessageMixin, LoginRequiredMixin, MultiTenantMixin, GenericCreateView
48):
49 success_message = "%(name)s " + _("was created successfully")
51 template_name = "%s/edit.html" % app_label
52 form_class = Form
53 model = Model
54 success_url = reverse_lazy("%s:index" % app_label)
57class DeleteView(
58 SafeDeleteMixin, LoginRequiredMixin, MultiTenantMixin, GenericDeleteView
59):
60 success_message = "%(name)s " + _("was deleted successfully")
61 template_name = "delete.html"
62 model = Model
63 success_url = reverse_lazy("%s:index" % app_label)
66class BulkDeleteView(GenericBulkDeleteView):
67 model = Model
70class CSVExportView(GenericCSVExportView):
71 model = Model
72 filename = "location.csv"
73 export_fields = [
74 ("name", "name"),
75 ("country", "country"),
76 ]