Add rarity field to trade_offer instead of looking up via cards
This commit is contained in:
parent
ba33139993
commit
f7a9b2f823
13 changed files with 87 additions and 50 deletions
|
|
@ -16,6 +16,7 @@ from .models import TradeOffer, TradeAcceptance
|
|||
from .forms import (TradeOfferAcceptForm,
|
||||
TradeAcceptanceCreateForm, TradeOfferCreateForm, TradeAcceptanceTransitionForm)
|
||||
from cards.models import Card
|
||||
from silk.profiling.profiler import silk_profile
|
||||
|
||||
class TradeOfferCreateView(LoginRequiredMixin, CreateView):
|
||||
model = TradeOffer
|
||||
|
|
@ -67,6 +68,7 @@ class TradeOfferAllListView(ListView):
|
|||
model = TradeOffer
|
||||
template_name = "trades/trade_offer_all_list.html"
|
||||
|
||||
@silk_profile(name="Trade Offer All List- Get Context Data")
|
||||
def get_context_data(self, *, object_list=None, **kwargs):
|
||||
context = super().get_context_data(**kwargs)
|
||||
request = self.request
|
||||
|
|
@ -86,6 +88,7 @@ class TradeOfferAllListView(ListView):
|
|||
context["all_trade_offers_paginated"] = offers_paginator.get_page(offers_page)
|
||||
return context
|
||||
|
||||
@silk_profile(name="Trade Offer All List- Render to Response")
|
||||
def render_to_response(self, context, **response_kwargs):
|
||||
# For AJAX requests, return only the paginated fragment.
|
||||
if self.request.headers.get("X-Requested-With") == "XMLHttpRequest":
|
||||
|
|
@ -182,6 +185,7 @@ class TradeOfferMyListView(LoginRequiredMixin, ListView):
|
|||
other_acceptances = involved_acceptances.exclude(pk__in=waiting_acceptances.values("pk"))
|
||||
return Paginator(other_acceptances, 10).get_page(page_param)
|
||||
|
||||
@silk_profile(name="Trade Offer My List- Get Context Data")
|
||||
def get_context_data(self, **kwargs):
|
||||
context = super().get_context_data(**kwargs)
|
||||
request = self.request
|
||||
|
|
@ -202,6 +206,7 @@ class TradeOfferMyListView(LoginRequiredMixin, ListView):
|
|||
|
||||
return context
|
||||
|
||||
@silk_profile(name="Trade Offer My List- Render to Response")
|
||||
def render_to_response(self, context, **response_kwargs):
|
||||
# For AJAX requests, return only the paginated fragment.
|
||||
if self.request.headers.get("X-Requested-With") == "XMLHttpRequest":
|
||||
|
|
@ -313,6 +318,7 @@ class TradeOfferSearchView(ListView):
|
|||
results.append((card_id, qty))
|
||||
return results
|
||||
|
||||
@silk_profile(name="Trade Offer Search- Get Queryset")
|
||||
def get_queryset(self):
|
||||
from django.db.models import F
|
||||
# For a GET request (initial load), return an empty queryset.
|
||||
|
|
@ -349,10 +355,12 @@ class TradeOfferSearchView(ListView):
|
|||
|
||||
return qs.distinct()
|
||||
|
||||
@silk_profile(name="Trade Offer Search- Post")
|
||||
def post(self, request, *args, **kwargs):
|
||||
# For POST, simply process the search through get().
|
||||
return self.get(request, *args, **kwargs)
|
||||
|
||||
@silk_profile(name="Trade Offer Search- Get Context Data")
|
||||
def get_context_data(self, **kwargs):
|
||||
context = super().get_context_data(**kwargs)
|
||||
from cards.models import Card
|
||||
|
|
@ -367,6 +375,7 @@ class TradeOfferSearchView(ListView):
|
|||
context["wanted_cards"] = []
|
||||
return context
|
||||
|
||||
@silk_profile(name="Trade Offer Search- Render to Response")
|
||||
def render_to_response(self, context, **response_kwargs):
|
||||
"""
|
||||
Render the AJAX fragment if the request is AJAX; otherwise, render the complete page.
|
||||
|
|
@ -386,6 +395,7 @@ class TradeOfferDetailView(LoginRequiredMixin, DetailView):
|
|||
model = TradeOffer
|
||||
template_name = "trades/trade_offer_detail.html"
|
||||
|
||||
@silk_profile(name="Trade Offer Detail- Get Context Data")
|
||||
def get_context_data(self, **kwargs):
|
||||
context = super().get_context_data(**kwargs)
|
||||
trade_offer = self.get_object()
|
||||
|
|
@ -446,18 +456,7 @@ class TradeAcceptanceCreateView(LoginRequiredMixin, CreateView):
|
|||
|
||||
def get_trade_offer(self):
|
||||
return (
|
||||
TradeOffer.objects.select_related('initiated_by')
|
||||
.prefetch_related(
|
||||
'trade_offer_want_cards__card',
|
||||
'trade_offer_have_cards__card',
|
||||
Prefetch(
|
||||
'acceptances',
|
||||
queryset=TradeAcceptance.objects.select_related(
|
||||
'accepted_by', 'requested_card', 'offered_card'
|
||||
)
|
||||
)
|
||||
)
|
||||
.get(pk=self.kwargs['offer_pk'])
|
||||
TradeOffer.objects.get(pk=self.kwargs['offer_pk'])
|
||||
)
|
||||
|
||||
def get_form_kwargs(self):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue