Refactor save_searchpicks into a view mixin method

pull/11950/merge
Sage Abdullah 2024-11-22 15:40:01 +00:00 zatwierdzone przez Matt Westcott
rodzic 4e60e0a82b
commit d811066a5b
1 zmienionych plików z 10 dodań i 9 usunięć

Wyświetl plik

@ -82,9 +82,12 @@ class IndexView(generic.IndexView):
return breadcrumbs
def save_searchpicks(query, new_query, searchpicks_formset):
# Save
if searchpicks_formset.is_valid():
class SearchPromotionCreateEditMixin:
def save_searchpicks(self, query, new_query):
searchpicks_formset = self.searchpicks_formset
if not searchpicks_formset.is_valid():
return False
# Set sort_order
for i, form in enumerate(searchpicks_formset.ordered_forms):
form.instance.sort_order = i
@ -120,11 +123,9 @@ def save_searchpicks(query, new_query, searchpicks_formset):
log(search_pick, "wagtail.edit")
return True
else:
return False
class CreateView(generic.CreateView):
class CreateView(SearchPromotionCreateEditMixin, generic.CreateView):
model = Query
permission_policy = ModelPermissionPolicy(SearchPromotion)
index_url_name = "wagtailsearchpromotions:index"
@ -156,7 +157,7 @@ class CreateView(generic.CreateView):
self.form = form
self.object = Query.get(form.cleaned_data["query_string"])
if save_searchpicks(self.object, self.object, self.searchpicks_formset):
if self.save_searchpicks(self.object, self.object):
messages.success(
self.request,
self.get_success_message(self.object),
@ -181,7 +182,7 @@ class CreateView(generic.CreateView):
return context
class EditView(generic.EditView):
class EditView(SearchPromotionCreateEditMixin, generic.EditView):
model = Query
pk_url_kwarg = "query_id"
context_object_name = "query"
@ -215,7 +216,7 @@ class EditView(generic.EditView):
self.form = form
new_query = Query.get(form.cleaned_data["query_string"])
if save_searchpicks(self.object, new_query, self.searchpicks_formset):
if self.save_searchpicks(self.object, new_query):
messages.success(
self.request,
self.get_success_message(),