Commit 06723fd9 authored by Rafael Monnerat's avatar Rafael Monnerat

slapos_panel: Do not propagate website as parameter

   Use acquisition properly.
parent 7a6d0409
portal = context.getPortalObject() portal = context.getPortalObject()
# Get entity from context to preserve path
entity = portal.portal_membership.getAuthenticatedMember().getUserValue() entity = portal.portal_membership.getAuthenticatedMember().getUserValue()
outstanding_amount = context outstanding_amount = context
web_site = outstanding_amount.getWebSiteValue()
assert outstanding_amount.getLedgerUid() == portal.portal_categories.ledger.automated.getUid() assert outstanding_amount.getLedgerUid() == portal.portal_categories.ledger.automated.getUid()
assert outstanding_amount.getDestinationSectionUid() == entity.getUid() assert outstanding_amount.getDestinationSectionUid() == entity.getUid()
assert web_site is not None
payment_mode = outstanding_amount.Base_getPaymentModeForCurrency(outstanding_amount.getPriceCurrencyUid()) payment_mode = outstanding_amount.Base_getPaymentModeForCurrency(outstanding_amount.getPriceCurrencyUid())
...@@ -32,6 +38,9 @@ def wrapWithShadow(entity, outstanding_amount, payment_mode): ...@@ -32,6 +38,9 @@ def wrapWithShadow(entity, outstanding_amount, payment_mode):
) )
raise ValueError("Unsupported outstanding amount type: %s" % (portal_type)) raise ValueError("Unsupported outstanding amount type: %s" % (portal_type))
# Ensure to re-take the entity under a proper acquisition context
entity = web_site.restrictedTraverse(entity.getRelativeUrl())
payment_transaction = entity.Person_restrictMethodAsShadowUser( payment_transaction = entity.Person_restrictMethodAsShadowUser(
shadow_document=entity, shadow_document=entity,
callable_object=wrapWithShadow, callable_object=wrapWithShadow,
......
if (context.getPaymentMode() == "wechat"): if (context.getPaymentMode() == "wechat"):
return context.PaymentTransaction_redirectToManualWechatPayment(web_site=web_site) return context.PaymentTransaction_redirectToManualWechatPayment()
elif (context.getPaymentMode() == "payzen"): elif (context.getPaymentMode() == "payzen"):
return context.PaymentTransaction_redirectToManualPayzenPayment() return context.PaymentTransaction_redirectToManualPayzenPayment()
else: else:
......
...@@ -50,7 +50,7 @@ ...@@ -50,7 +50,7 @@
</item> </item>
<item> <item>
<key> <string>_params</string> </key> <key> <string>_params</string> </key>
<value> <string>web_site=None</string> </value> <value> <string></string> </value>
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment