Compare commits

..
1 Commits
Author SHA1 Message Date
Raphael Michel fdece7a782 Fix handling of session create 2025-02-17 23:12:55 +01:00
2 changed files with 17 additions and 16 deletions
+15 -14
View File
@@ -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
+2 -2
View File
@@ -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