Coverage for clusterpackagetype / views.py: 94%
52 statements
« prev ^ index » next coverage.py v7.13.5, created at 2026-03-24 12:43 +0000
« prev ^ index » next coverage.py v7.13.5, created at 2026-03-24 12:43 +0000
1from django.contrib.auth.mixins import LoginRequiredMixin
2from django.contrib import messages
3from django.http import HttpResponseRedirect
4from sm.views import SafeDeleteMixin
7from .models import Model
8from .forms import Form, FormDisabled
9from . import app_label
11from django.views.generic import ListView as GenericListView
12from django.views.generic.edit import UpdateView as GenericUpdateView
13from django.views.generic.edit import CreateView as GenericCreateView
14from django.views.generic.edit import DeleteView as GenericDeleteView
15from django.contrib.messages.views import SuccessMessageMixin
17from django.utils.translation import gettext as _
19try:
20 from django.urls import reverse_lazy
21except Exception: # pragma: no cover
22 from django.urls import reverse_lazy # pragma: no cover
25class ListView(LoginRequiredMixin, GenericListView):
26 template_name = "%s/list.html" % app_label
27 model = Model
28 paginate_by = 20
29 paginate_orphans = paginate_by / 4
30 ordering = "name"
32 def get_queryset(self):
33 return Model.objects.all().order_by("name")
36class DetailView(LoginRequiredMixin, GenericUpdateView):
37 template_name = "%s/detail.html" % app_label
38 model = Model
39 form_class = FormDisabled
42class UpdateView(SuccessMessageMixin, LoginRequiredMixin, GenericUpdateView):
43 success_message = "%(name)s " + _("was updated successfully")
45 template_name = "%s/edit.html" % app_label
46 model = Model
48 def form_valid(self, form):
49 self.object = form.save()
50 messages.success(self.request, self.success_message % self.object.__dict__)
52 return HttpResponseRedirect(self.get_success_url())
54 form_class = Form
55 success_url = reverse_lazy("%s:index" % app_label)
58class CreateView(SuccessMessageMixin, LoginRequiredMixin, GenericCreateView):
59 success_message = "%(name)s " + _("was created successfully")
61 template_name = "%s/edit.html" % app_label
62 fields = "__all__"
63 model = Model
64 success_url = reverse_lazy("%s:index" % app_label)
66 def form_valid(self, form):
67 self.object = form.save()
68 messages.success(self.request, self.success_message % self.object.__dict__)
70 return HttpResponseRedirect(self.get_success_url())
73class DeleteView(SafeDeleteMixin, LoginRequiredMixin, GenericDeleteView):
74 success_message = "%(name)s " + _("was deleted successfully")
75 template_name = "delete.html"
76 model = Model
77 success_url = reverse_lazy("%s:index" % app_label)