kopia lustrzana https://github.com/wagtail/wagtail
64 wiersze
1.8 KiB
Python
64 wiersze
1.8 KiB
Python
from django.utils.translation import gettext_lazy as _
|
|
|
|
from wagtail.admin.ui.tables import Column, StatusFlagColumn, TitleColumn
|
|
from wagtail.admin.views import generic
|
|
from wagtail.admin.viewsets.model import ModelViewSet
|
|
from wagtail.models import Site
|
|
from wagtail.permissions import site_permission_policy
|
|
from wagtail.sites.forms import SiteForm
|
|
|
|
|
|
class IndexView(generic.IndexView):
|
|
page_title = _("Sites")
|
|
add_item_label = _("Add a site")
|
|
context_object_name = "sites"
|
|
default_ordering = "hostname"
|
|
columns = [
|
|
TitleColumn(
|
|
"hostname",
|
|
label=_("Site"),
|
|
sort_key="hostname",
|
|
url_name="wagtailsites:edit",
|
|
),
|
|
Column("port", sort_key="port"),
|
|
Column("site_name"),
|
|
Column("root_page"),
|
|
StatusFlagColumn(
|
|
"is_default_site", label=_("Default?"), true_label=_("Default")
|
|
),
|
|
]
|
|
|
|
|
|
class CreateView(generic.CreateView):
|
|
page_title = _("Add site")
|
|
success_message = _("Site '%(object)s' created.")
|
|
template_name = "wagtailsites/create.html"
|
|
|
|
|
|
class EditView(generic.EditView):
|
|
success_message = _("Site '%(object)s' updated.")
|
|
error_message = _("The site could not be saved due to errors.")
|
|
delete_item_label = _("Delete site")
|
|
context_object_name = "site"
|
|
template_name = "wagtailsites/edit.html"
|
|
|
|
|
|
class DeleteView(generic.DeleteView):
|
|
success_message = _("Site '%(object)s' deleted.")
|
|
page_title = _("Delete site")
|
|
confirmation_message = _("Are you sure you want to delete this site?")
|
|
|
|
|
|
class SiteViewSet(ModelViewSet):
|
|
icon = "site"
|
|
model = Site
|
|
permission_policy = site_permission_policy
|
|
|
|
index_view_class = IndexView
|
|
add_view_class = CreateView
|
|
edit_view_class = EditView
|
|
delete_view_class = DeleteView
|
|
|
|
def get_form_class(self, for_update=False):
|
|
return SiteForm
|