from django.contrib.auth.mixins import LoginRequiredMixin
from sm.views import SafeDeleteMixin
from sm.mixins import MultiTenantMixin
from .models import Model
from .forms import Form, FormDisabled
from . import app_label
from django.views.generic import ListView as GenericListView
from django.views.generic.edit import UpdateView as GenericUpdateView
from django.views.generic.edit import CreateView as GenericCreateView
from django.views.generic.edit import DeleteView as GenericDeleteView
from django.contrib.messages.views import SuccessMessageMixin
from django.utils.translation import gettext as _
try:
from django.urls import reverse_lazy
except Exception: # pragma: no cover
from django.urls import reverse_lazy # pragma: no coverclass ListView(LoginRequiredMixin, MultiTenantMixin, GenericListView):
template_name = "%s/list.html" % app_label
model = Model
paginate_by = 20
paginate_orphans = paginate_by / 4
ordering = "name"class DetailView(LoginRequiredMixin, MultiTenantMixin, GenericUpdateView):
template_name = "%s/detail.html" % app_label
model = Model
form_class = FormDisabledclass UpdateView(
SuccessMessageMixin,
LoginRequiredMixin,
MultiTenantMixin,
GenericUpdateView,
):
success_message = "%(name)s " + _("was updated successfully")
template_name = "%s/edit.html" % app_label
model = Model
form_class = Form
success_url = reverse_lazy("%s:index" % app_label)class CreateView(
SuccessMessageMixin,
LoginRequiredMixin,
MultiTenantMixin,
GenericCreateView,
):
success_message = "%(name)s " + _("was created successfully")
template_name = "%s/edit.html" % app_label
fields = "__all__"
model = Model
success_url = reverse_lazy("%s:index" % app_label)class DeleteView(
SafeDeleteMixin,
LoginRequiredMixin,
MultiTenantMixin,
GenericDeleteView,
):
success_message = "%(name)s " + _("was deleted successfully")
template_name = "delete.html"
model = Model
success_url = reverse_lazy("%s:index" % app_label)