Fix expanded state handling for trade offers and modify expand all on trade offers listing to persist between pages

This commit is contained in:
badblocks 2025-04-02 13:39:15 -07:00
parent 6a61b79bbe
commit 63e20bace6
7 changed files with 74 additions and 128 deletions

View file

@ -75,13 +75,15 @@ class TradeOfferAllListView(ReusablePaginationMixin, ListView):
self.per_page = 10
paginated_offers, pagination_context = self.paginate_data(queryset, page_number)
context["offers"] = paginated_offers
# Set pagination context using the key expected in the template
context["page_obj"] = pagination_context
# Add the expanded flag to the context based on the URL query parameter.
context["expanded"] = request.GET.get("expanded", "false").lower() == "true"
return context
def render_to_response(self, context, **response_kwargs):
if self.request.headers.get("X-Requested-With") == "XMLHttpRequest":
show_closed = self.request.GET.get("show_closed", "false").lower() == "true"
expanded = self.request.GET.get("expanded", "false").lower() == "true"
queryset = TradeOffer.objects.all()
if show_closed:
queryset = queryset.filter(is_closed=True)
@ -94,7 +96,7 @@ class TradeOfferAllListView(ReusablePaginationMixin, ListView):
return render(
self.request,
"trades/_trade_offer_list.html",
{"offers": paginated_offers, "page_obj": pagination_context}
{"offers": paginated_offers, "page_obj": pagination_context, "expanded": expanded}
)
return super().render_to_response(context, **response_kwargs)