Add StatusSidePanel to generic EditView

pull/10930/head
Sage Abdullah 2023-09-19 17:20:05 +01:00
rodzic e6bd210a0f
commit 3a9e5a2680
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: EB1A33CC51CC0217
2 zmienionych plików z 21 dodań i 5 usunięć

Wyświetl plik

@ -32,8 +32,9 @@ from wagtail.admin import messages
from wagtail.admin.filters import WagtailFilterSet
from wagtail.admin.forms.search import SearchForm
from wagtail.admin.panels import get_edit_handler
from wagtail.admin.ui.components import Component
from wagtail.admin.ui.components import Component, MediaContainer
from wagtail.admin.ui.fields import display_class_registry
from wagtail.admin.ui.side_panels import StatusSidePanel
from wagtail.admin.ui.tables import Column, TitleColumn, UpdatedAtColumn
from wagtail.admin.utils import get_latest_str, get_valid_next_url_from_request
from wagtail.admin.views.mixins import SpreadsheetExportMixin
@ -625,6 +626,19 @@ class EditView(
items.append({"url": "", "label": get_latest_str(self.object)})
return self.breadcrumbs_items + items
def get_side_panels(self):
side_panels = [
StatusSidePanel(
self.object,
self.request,
locale=self.locale,
translations=self.translations,
usage_url=self.get_usage_url(),
history_url=self.get_history_url(),
)
]
return MediaContainer(side_panels)
def get_edit_url(self):
if not self.edit_url_name:
raise ImproperlyConfigured(
@ -731,8 +745,13 @@ class EditView(
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
self.form = context.get("form")
side_panels = self.get_side_panels()
media = context.get("media") + side_panels.media
context["action_url"] = self.get_edit_url()
context["history_url"] = self.get_history_url()
context["side_panels"] = side_panels
context["media"] = media
context["submit_button_label"] = self.submit_button_label
context["can_delete"] = (
self.permission_policy is None

Wyświetl plik

@ -340,16 +340,13 @@ class EditView(generic.CreateEditViewOptionalFeaturesMixin, generic.EditView):
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
self.form = context.get("form")
action_menu = self._get_action_menu()
side_panels = self.get_side_panels()
media = context.get("media") + MediaContainer([action_menu, side_panels]).media
media = context.get("media") + action_menu.media
context.update(
{
"model_opts": self.model._meta,
"action_menu": action_menu,
"side_panels": side_panels,
"revisions_compare_url_name": self.revisions_compare_url_name,
"media": media,
}