- Timestamp:
- 12 Mar 2015, 05:23:47 (10 years ago)
- Location:
- main/waeup.ikoba/branches/uli-payments/src/waeup/ikoba/customers
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
main/waeup.ikoba/branches/uli-payments/src/waeup/ikoba/customers/browser.py
r12735 r12740 1532 1532 payment, view_name = service.next_step(payment.payment_id) 1533 1533 url = self.url(payment, view_name) 1534 IWorkflowInfo(self.context).fireTransition('await')1535 1534 self.redirect(url) 1536 1535 return -
main/waeup.ikoba/branches/uli-payments/src/waeup/ikoba/customers/contracts.py
r12734 r12740 20 20 """ 21 21 import grok 22 from hurry.workflow.interfaces import IWorkflowInfo, IWorkflowState 22 23 from zope.catalog.interfaces import ICatalog 23 24 from zope.component import getUtility, queryUtility … … 25 26 from zope.interface import implementedBy 26 27 from zope.schema import getFields 27 from hurry.workflow.interfaces import IWorkflowInfo, IWorkflowState28 28 from waeup.ikoba.interfaces import MessageFactory as _ 29 29 from waeup.ikoba.interfaces import ( … … 33 33 IContractSelectProduct, ICustomersUtils, ISampleContract, 34 34 ISampleContractProcess, ISampleContractEdit, ISampleContractOfficialUse) 35 from waeup.ikoba.payments.interfaces import IPayer, IPayableFinder, IPayable 36 from waeup.ikoba.payments.payment import PaymentItem 35 from waeup.ikoba.payments.interfaces import ( 36 IPayer, IPayableFinder, IPayable, IPaymentWaitingForGatewayEvent, 37 STATE_PAID, STATE_FAILED, IPaymentFinishedEvent 38 ) 39 from waeup.ikoba.payments.payment import ( 40 PaymentItem, find_payable_from_payable_id, 41 ) 37 42 from waeup.ikoba.utils.helpers import attrs_to_fields 38 43 … … 248 253 249 254 255 @grok.subscribe(IPaymentWaitingForGatewayEvent) 256 def handle_payment_waiting_for_gw(event): 257 maybe_contract = find_payable_from_payable_id( 258 event.object.payable_id) 259 if IContract.providedBy(maybe_contract): 260 IWorkflowInfo(maybe_contract).fireTransition('await') 261 262 263 @grok.subscribe(IPaymentFinishedEvent) 264 def handle_payment_finished(event): 265 payment = event.object 266 maybe_contract = find_payable_from_payable_id(payment.payable_id) 267 if not IContract.providedBy(maybe_contract): 268 return 269 if payment.state == STATE_PAID: 270 IWorkflowInfo(maybe_contract).fireTransition('confirm') 271 else: 272 IWorkflowInfo(maybe_contract).fireTransition('discard') 273 274 250 275 class ContractFinder(grok.GlobalUtility): 251 276 grok.name('contracts_finder')
Note: See TracChangeset for help on using the changeset viewer.