Add properties for columns and per_page

pull/8711/head
Matt Westcott 2022-06-21 02:27:33 +01:00 zatwierdzone przez LB (Ben Johnston)
rodzic 787691e762
commit eb22a209e4
2 zmienionych plików z 27 dodań i 21 usunięć

Wyświetl plik

@ -82,6 +82,18 @@ class BaseChooseView(ModalPageFurnitureMixin, ContextMixin, View):
def get_results_url(self):
return reverse(self.results_url_name)
@property
def columns(self):
return [
TitleColumn(
"title",
label=_("Title"),
accessor=str,
url_name=self.chosen_url_name,
link_attrs={"data-chooser-modal-choice": True},
),
]
def get(self, request):
objects = self.get_object_list()
self.is_searching = False
@ -93,18 +105,7 @@ class BaseChooseView(ModalPageFurnitureMixin, ContextMixin, View):
paginator = Paginator(objects, per_page=self.per_page)
self.results = paginator.get_page(request.GET.get("p"))
columns = [
TitleColumn(
"title",
label=_("Title"),
accessor=str,
url_name=self.chosen_url_name,
link_attrs={"data-chooser-modal-choice": True},
),
]
self.table = Table(columns, self.results)
self.table = Table(self.columns, self.results)
return self.render_to_response()

Wyświetl plik

@ -41,6 +41,7 @@ class BaseChooseView(ModalPageFurnitureMixin, ContextMixin, View):
page_title = _("Choose")
template_name = "wagtailadmin/generic/chooser/chooser.html"
results_template_name = "wagtailsnippets/chooser/results.html"
per_page = 25
@property
def page_subtitle(self):
@ -117,6 +118,17 @@ class BaseChooseView(ModalPageFurnitureMixin, ContextMixin, View):
args=(self.model._meta.app_label, self.model._meta.model_name),
)
@property
def columns(self):
return [
SnippetTitleColumn(
"title",
self.model,
label=_("Title"),
link_attrs={"data-chooser-modal-choice": True},
),
]
def get(self, request, app_label, model_name):
self.model = get_snippet_model_from_url_params(app_label, model_name)
@ -132,18 +144,11 @@ class BaseChooseView(ModalPageFurnitureMixin, ContextMixin, View):
objects = self.filter_object_list(objects, self.filter_form)
# Pagination
paginator = Paginator(objects, per_page=25)
paginator = Paginator(objects, per_page=self.per_page)
self.results = paginator.get_page(request.GET.get("p"))
self.table = Table(
[
SnippetTitleColumn(
"title",
self.model,
label=_("Title"),
link_attrs={"data-chooser-modal-choice": True},
),
],
self.columns,
self.results,
)