Use get_common_view_kwargs for ChooserViewSet

pull/10851/head
Matt Westcott 2023-09-01 11:22:10 +01:00 zatwierdzone przez Matt Westcott
rodzic e9c291c1be
commit dd31ec54af
1 zmienionych plików z 26 dodań i 45 usunięć

Wyświetl plik

@ -87,70 +87,51 @@ class ChooserViewSet(ViewSet):
if self.page_title is None:
self.page_title = self.choose_one_text
def get_common_view_kwargs(self, **kwargs):
return super().get_common_view_kwargs(
**{
"model": self.model,
"permission_policy": self.permission_policy,
"preserve_url_parameters": self.preserve_url_parameters,
"create_action_label": self.create_action_label,
"create_action_clicked_label": self.create_action_clicked_label,
"creation_form_class": self.creation_form_class,
"form_fields": self.form_fields,
"exclude_form_fields": self.exclude_form_fields,
"chosen_url_name": self.get_url_name("chosen"),
"chosen_multiple_url_name": self.get_url_name("chosen_multiple"),
"results_url_name": self.get_url_name("choose_results"),
"create_url_name": self.get_url_name("create"),
"per_page": self.per_page,
**kwargs,
}
)
@property
def choose_view(self):
return self.choose_view_class.as_view(
model=self.model,
chosen_url_name=self.get_url_name("chosen"),
chosen_multiple_url_name=self.get_url_name("chosen_multiple"),
results_url_name=self.get_url_name("choose_results"),
create_url_name=self.get_url_name("create"),
return self.construct_view(
self.choose_view_class,
icon=self.icon,
page_title=self.page_title,
per_page=self.per_page,
creation_form_class=self.creation_form_class,
form_fields=self.form_fields,
exclude_form_fields=self.exclude_form_fields,
search_tab_label=self.search_tab_label,
creation_tab_label=self.creation_tab_label,
create_action_label=self.create_action_label,
create_action_clicked_label=self.create_action_clicked_label,
permission_policy=self.permission_policy,
preserve_url_parameters=self.preserve_url_parameters,
)
@property
def choose_results_view(self):
return self.choose_results_view_class.as_view(
model=self.model,
chosen_url_name=self.get_url_name("chosen"),
chosen_multiple_url_name=self.get_url_name("chosen_multiple"),
results_url_name=self.get_url_name("choose_results"),
per_page=self.per_page,
creation_form_class=self.creation_form_class,
form_fields=self.form_fields,
exclude_form_fields=self.exclude_form_fields,
create_action_label=self.create_action_label,
create_action_clicked_label=self.create_action_clicked_label,
permission_policy=self.permission_policy,
preserve_url_parameters=self.preserve_url_parameters,
)
return self.construct_view(self.choose_results_view_class)
@property
def chosen_view(self):
return self.chosen_view_class.as_view(
model=self.model,
)
return self.construct_view(self.chosen_view_class)
@property
def chosen_multiple_view(self):
return self.chosen_multiple_view_class.as_view(
model=self.model,
)
return self.construct_view(self.chosen_multiple_view_class)
@property
def create_view(self):
return self.create_view_class.as_view(
model=self.model,
create_url_name=self.get_url_name("create"),
creation_form_class=self.creation_form_class,
form_fields=self.form_fields,
exclude_form_fields=self.exclude_form_fields,
create_action_label=self.create_action_label,
create_action_clicked_label=self.create_action_clicked_label,
permission_policy=self.permission_policy,
preserve_url_parameters=self.preserve_url_parameters,
)
return self.construct_view(self.create_view_class)
@cached_property
def model_name(self):