Changeset 8420 for main/waeup.kofa/trunk/src/waeup/kofa/applicants
- Timestamp:
- 11 May 2012, 14:18:47 (13 years ago)
- Location:
- main/waeup.kofa/trunk/src/waeup/kofa/applicants
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
main/waeup.kofa/trunk/src/waeup/kofa/applicants/browser.py
r8404 r8420 591 591 'b':self.context.p_id}) 592 592 593 class OnlinePayment CallbackPage(UtilityView, grok.View):594 """ Callbackview593 class OnlinePaymentApprovePage(UtilityView, grok.View): 594 """ Approval view 595 595 """ 596 596 grok.context(IApplicantOnlinePayment) 597 grok.name('simulate_callback') 598 grok.require('waeup.payApplicant') 599 600 # This update method simulates a valid callback und must be 601 # neutralized in the customization package. 597 grok.name('approve') 598 grok.require('waeup.managePortal') 599 602 600 def update(self): 603 601 self.wf_info = IWorkflowInfo(self.context.__parent__) … … 607 605 self.flash('Error: %s' % sys.exc_info()[1]) 608 606 return 609 self.context.r_amount_approved = self.context.amount_auth 610 self.context.r_code = u'00' 611 self.context.p_state = 'paid' 612 self.context.payment_date = datetime.utcnow() 607 self.context.approve() 613 608 ob_class = self.__implemented__.__name__.replace('waeup.kofa.','') 614 609 self.context.__parent__.loggerInfo( -
main/waeup.kofa/trunk/src/waeup/kofa/applicants/tests/test_browser.py
r8406 r8420 696 696 #self.assertMatches('...Ticket not yet paid...', 697 697 # self.browser.contents) 698 # Request callback 699 self.browser.getLink("Request callback").click() 700 self.assertMatches('...Valid callback received...', 701 self.browser.contents) 702 # Callback can't be applied twice 703 self.browser.open(payment_url + '/simulate_callback') 704 self.assertMatches( 705 "...Transition 'pay' requires 'started' as source state...", 706 self.browser.contents) 698 # Approve payment 699 # Applicants can't approve payments 700 self.assertRaises( 701 Unauthorized, self.browser.open, payment_url + '/approve') 702 # We approve the payment by bypassing the view 703 payment_id = self.applicant.keys()[0] 704 payment = self.applicant[payment_id] 705 payment.approve() 707 706 # The payment slip can be downloaded now 708 707 self.browser.open(payment_url) … … 711 710 self.assertEqual(self.browser.headers['Content-Type'], 712 711 'application/pdf') 713 # Applicant is is in state 'paid' 712 # Applicant is is not yet in state 'paid' because it was only 713 # the payment which we set to paid 714 714 self.browser.open(self.view_path) 715 self.assertMatches('... paid...',715 self.assertMatches('...started...', 716 716 self.browser.contents) 717 717 state = IWorkflowState(self.applicant).getState() 718 self.assertTrue(state == 'started') 719 # Let's logout and approve the payment as manager 720 self.browser.getLink("Logout").click() 721 self.browser.addHeader('Authorization', 'Basic mgr:mgrpw') 722 # First we reset the payment 723 payment.r_amount_approved = 0.0 724 payment.r_code = u'' 725 payment.p_state = 'unpaid' 726 payment.r_desc = u'' 727 payment.payment_date = None 728 self.browser.open(payment_url) 729 self.browser.getLink("Approve payment").click() 730 self.assertEqual(payment.p_state, 'paid') 731 self.assertEqual(payment.r_amount_approved, 200.0) 732 self.assertEqual(payment.r_code, 'AP') 733 state = IWorkflowState(self.applicant).getState() 718 734 self.assertTrue(state == 'paid') 735 return 719 736 720 737 def test_final_submit(self): -
main/waeup.kofa/trunk/src/waeup/kofa/applicants/viewlets.py
r8406 r8420 185 185 return self.view.url(self.view.context, self.target) 186 186 187 class RequestCallbackActionButton(ManageActionButton):187 class ApprovePaymentActionButton(ManageActionButton): 188 188 grok.order(2) 189 189 grok.context(IApplicantOnlinePayment) 190 190 grok.view(OnlinePaymentDisplayFormPage) 191 grok.require('waeup. payApplicant')191 grok.require('waeup.managePortal') 192 192 icon = 'actionicon_call.png' 193 text = _('Request callback') 194 target = 'simulate_callback' 195 196 # This button must be neutralized 197 # in the customization package. 193 text = _('Approve payment') 194 target = 'approve' 195 198 196 @property 199 197 def target_url(self):
Note: See TracChangeset for help on using the changeset viewer.