mirror of
https://github.com/pretix/pretix.git
synced 2026-08-05 09:57:49 +00:00
Fix handling of session create
This commit is contained in:
@@ -216,21 +216,22 @@ class CheckoutSessionSerializer(serializers.ModelSerializer):
|
||||
for p in payments
|
||||
]
|
||||
|
||||
steps = get_steps(
|
||||
self.context["event"],
|
||||
cartpos,
|
||||
getattr(checkout, "invoice_address", None),
|
||||
checkout.session_data,
|
||||
total,
|
||||
)
|
||||
d["steps"] = {}
|
||||
for step in steps:
|
||||
applicable = step.is_applicable()
|
||||
valid = not applicable or step.is_valid()
|
||||
d["steps"][step.identifier] = {
|
||||
"applicable": applicable,
|
||||
"valid": valid,
|
||||
}
|
||||
if cartpos:
|
||||
steps = get_steps(
|
||||
self.context["event"],
|
||||
cartpos,
|
||||
getattr(checkout, "invoice_address", None),
|
||||
checkout.session_data,
|
||||
total,
|
||||
)
|
||||
for step in steps:
|
||||
applicable = step.is_applicable()
|
||||
valid = not applicable or step.is_valid()
|
||||
d["steps"][step.identifier] = {
|
||||
"applicable": applicable,
|
||||
"valid": valid,
|
||||
}
|
||||
|
||||
return d
|
||||
|
||||
|
||||
@@ -75,12 +75,12 @@ class PaymentStep(CheckoutStep):
|
||||
r.event = self.event
|
||||
r.organizer = self.event.organizer
|
||||
self.cart_session.setdefault("fake_request", {})
|
||||
cart_id = self.cart_positions[0].cart_id
|
||||
cart_id = self.cart_positions[0].cart_id if self.cart_positions else None
|
||||
r.session = UserDict(
|
||||
{
|
||||
f"current_cart_event_{self.event.pk}": cart_id,
|
||||
"carts": {cart_id: self.cart_session},
|
||||
}
|
||||
} if cart_id else {}
|
||||
)
|
||||
r.session.session_key = cart_id
|
||||
return r
|
||||
|
||||
Reference in New Issue
Block a user