Changeset 2891
- Timestamp:
- 9 Dec 2007, 11:03:55 (17 years ago)
- Location:
- WAeUP_SRP
- Files:
-
- 1 added
- 1 deleted
- 15 edited
Legend:
- Unmodified
- Added
- Removed
-
WAeUP_SRP/base/Payment.py
r2874 r2891 43 43 d['key'] = payment.getId() 44 44 d['amount'] = doc.amount 45 d[' description'] = d['type_description'] = doc.type_description45 d['type_description'] = doc.type_description 46 46 subject = '' 47 47 if doc.type_description.startswith('School'): … … 55 55 p_status = "paid" 56 56 break 57 if doc.resp_code in ("00","IP" ):57 if doc.resp_code in ("00","IP","AP"): 58 58 p_type = "online" 59 59 p_status = "paid" … … 64 64 d['key'] = payment.getId() 65 65 d['type'] = p_type # scratch card 66 d[' target'] = student_record.course66 d['item'] = student_record.course 67 67 d['status'] = p_status 68 68 d['resp_approved_amount'] = getattr(doc,'resp_approved_amount',None) … … 73 73 d['resp_card_num'] = doc.resp_card_num 74 74 d['date'] = getattr(doc,'date',None) 75 d['resp_date'] = getattr(doc,'resp_date',None)75 #d['resp_date'] = getattr(doc,'resp_date',None) 76 76 # msg = " ".join(["%s: %s" % (key,value) for key,value in d.items()]) 77 77 # logger.info(msg) 78 78 79 79 review_state = wftool.getInfoFor(payment,'review_state',None) 80 80 if review_state == "closed": -
WAeUP_SRP/base/skins/waeup_epayment/interswitch_acco_cb.py
r2857 r2891 53 53 for rc,pdk in resp_codes: 54 54 pd[pdk] = request.get(rc,'') 55 56 57 ## for testing purposes 58 pd['resp_desc'] = 'Simulated Callback' 59 pd['resp_pay_reference'] = 'XXXX' 60 pd['resp_code'] = '00' 61 pd['resp_card_num'] = '0000' 62 pd['resp_approved_amount'] = '10000' 55 63 56 64 if pd['resp_code'] == '00' and len(pd['resp_approved_amount']) > 4: 57 65 pd['resp_approved_amount'] = pd['resp_approved_amount'][:-2] 66 pd['status'] = 'paid' 58 67 else: 59 68 pd['resp_approved_amount'] = '0' 69 pd['status'] = 'failed' 60 70 61 71 review_state = wftool.getInfoFor(context,'review_state',None) … … 86 96 else: 87 97 logger.info('%s received unsuccessfull callback: %s' % (student_id,pd['resp_desc'])) 98 99 try: 100 wftool.doActionFor(context,'close') 101 except: 102 logger.info('%s no workflow action close' % student_id) 88 103 try: 89 104 wftool.doActionFor(acco_info['acco'],'pay_maintenance_fee',dest_container=acco_info['acco']) … … 92 107 logger.info('%s no workflow action pay_maintainance_fee' % student_id) 93 108 return request.RESPONSE.redirect("%s/waeup_document_view" % context.absolute_url()) 94 95 else: 109 110 111 else: 96 112 next_info = context.getNextInfo(s_brain) 97 113 next_session_id = next_info['next_session_id'] … … 101 117 next_verdict = next_info['next_verdict'] 102 118 next_previous_verdict = next_info['next_previous_verdict'] 103 119 104 120 if resp == '00': 105 121 if context.getStudentReviewState() == "school_fee_paid": … … 121 137 if next_transition: 122 138 wftool.doActionFor(student,next_transition) 123 139 124 140 logger.info('%s received valid callback' % student_id) 125 141 referer = request.get('HTTP_REFERER','none') … … 133 149 except: 134 150 logger.info('%s no workflow action close' % student_id) 135 136 151 152 -
WAeUP_SRP/base/skins/waeup_epayment/pay_by_sc.py
r2881 r2891 106 106 info['status'] = 'paid' 107 107 info['session_id'] = student_record.session 108 info[' target'] = student_record.course109 info[' subject'] = 'schoolfee'108 info['item'] = student_record.course 109 info['category'] = 'schoolfee' 110 110 info['resp_code'] = "SC" 111 111 info['resp_desc'] = "SC Payment Successful" -
WAeUP_SRP/base/skins/waeup_epayment/pay_interswitch_acco.py
r2877 r2891 19 19 from urllib import urlencode 20 20 import logging 21 logger = logging.getLogger('Skins.pay_interswitch ')21 logger = logging.getLogger('Skins.pay_interswitch_acco') 22 22 import DateTime 23 23 … … 75 75 info['student_id'] = student_id 76 76 info['student_name'] = student_record.name 77 info['session_id'] = student_record.session 77 78 info['student_email'] = student_record.email 78 79 info['date'] = now … … 105 106 payment_id) 106 107 107 logger.info('%(student_id)s initiated %( description)s payment with order_id %(order_id)s and callback url %(callback_url)s' % info)108 logger.info('%(student_id)s initiated %(type_description)s payment with order_id %(order_id)s and callback url %(callback_url)s' % info) 108 109 payment_fields = (('product_id','site_id'), 109 110 ('site_name','site_name'), -
WAeUP_SRP/base/skins/waeup_epayment/payment_receipt.pt
r2885 r2891 20 20 </tr> 21 21 <tr> 22 <td> JAMBRegistration Number:</td>22 <td>Registration Number:</td> 23 23 <td tal:content="student/jamb_reg_no" /> 24 24 </tr> -
WAeUP_SRP/base/skins/waeup_epayment/simulate_callback.py
r2857 r2891 13 13 current = DateTime.DateTime() 14 14 pr = context.portal_registration 15 logger = logging.getLogger(' EPayment.Simulate')15 logger = logging.getLogger('Skins.simulate_callback') 16 16 17 17 args = {} … … 24 24 #set_trace() 25 25 #url = "%s" % (context.absolute_url()) 26 raw_url = REQUEST.get("site_redirect_url") 26 raw_url = REQUEST.get("site_redirect_url") 27 27 url = "%s&%s" % (raw_url,urlencode(args)) 28 28 return REQUEST.RESPONSE.redirect(url) -
WAeUP_SRP/base/skins/waeup_layout/layout_student_acco_edit.pt
r2243 r2891 16 16 apply request/apply_button|nothing; 17 17 widgets python:context.getRenderedWidgets(layout); 18 info python: context.getAccommodationInfo(); 19 maintenance_online info/online_payment|nothing; 20 21 22 23 18 24 "> 19 25 <form action="" id="editForm" method="post" … … 44 50 tal:attributes="for cell/widget_input_area_id|nothing;">label</label>: 45 51 </div> 46 <button type="button" class="tooltipControl"47 tal:condition="widget/help"48 tal:attributes="onclick python:'toggleElementVisibility(\'%s\')' % tooltip_id;"> ? </button>49 52 </td> 50 53 <td> … … 52 55 <div tal:replace="structure cell/widget_rendered"/> 53 56 </span> 54 <div class="tooltipArea" style="visibility: hidden;"55 tal:condition="widget/help"56 tal:attributes="id tooltip_id;57 onclick python:'showElement(false, \'%s\')' % tooltip_id;"58 >59 <tal:block tal:content="widget/help">This is the help for this field60 </tal:block>61 </div>62 <tal:block condition="err">63 <tal:block define="msg python:cpsmcat(err, mapping=err_mapping)">64 <br /><em style="color: red"65 tal:content="msg">err</em>66 </tal:block>67 </tal:block>68 57 </td> 69 58 </div> … … 91 80 tal:attributes="for cell/widget_input_area_id|nothing;">label</label>: 92 81 </div> 93 <button type="button" class="tooltipControl"94 tal:condition="widget/help"95 tal:attributes="onclick python:'toggleElementVisibility(\'%s\')' % tooltip_id;"> ? </button>96 82 </td> 97 83 <td> … … 99 85 <div tal:replace="structure cell/widget_rendered"/> 100 86 </span> 101 <div class="tooltipArea" style="visibility: hidden;"102 tal:condition="widget/help"103 tal:attributes="id tooltip_id;104 onclick python:'showElement(false, \'%s\')' % tooltip_id;"105 >106 <tal:block tal:content="widget/help">This is the help for this field107 </tal:block>108 </div>109 <tal:block condition="err">110 <tal:block define="msg python:cpsmcat(err, mapping=err_mapping)">111 <br /><em style="color: red"112 tal:content="msg">err</em>113 </tal:block>114 </tal:block>115 87 </td> 116 88 </div> … … 122 94 value="Save" 123 95 id="cpsdocument_edit_button" 124 tal:condition="not:creation" /> 125 <input type="submit" class="standalone" name="apply_admission" 126 value="apply for admission" 127 id="cpsdocument_edit_and_view_button" 128 tal:condition="apply" 129 tal:attributes="value apply"/> 130 <input type="submit" 131 class="standalone" 132 name="cpsdocument_create_button" 133 value="apply" 134 tal:attributes="value options/button" 135 tal:condition="creation" /> 96 tal:condition="python:not creation and not maintenance_online" /> 136 97 137 98 </form> -
WAeUP_SRP/base/skins/waeup_student/accommodation_edit_form.pt
r2889 r2891 3 3 data_storage options/ds|nothing; 4 4 mode options/mode; 5 edition python:1;" 5 edition python:1; 6 info python: context.getAccommodationInfo(); 7 maintenance_online info/online_payment|nothing" 6 8 > 7 9 <metal:block define-macro="edit_form"> … … 27 29 <br /> 28 30 <div tal:replace="structure rendered_main" /> 29 <p>Instructions :</p> 30 <ul tal:condition="python: mode == 'create'"> 31 <li>Buy a Hostel Application Scratch Card.</li> 31 32 <p tal:condition="not: maintenance_online">Instructions :</p> 33 34 <ul tal:condition="python: mode == 'create' and not maintenance_online"> 35 <li>Buy a Hostel Application Scratch Card.</li> 32 36 <li>Enter the PIN above and press 'Book'.</li> 33 37 <li>Print your Hostel Allocation Slip.</li> 34 </ul> 35 <tal:block condition="python: mode == 'edit'" 36 tal:define="info python: context.getAccommodationInfo(); 37 maintenance_online info/online_payment|nothing" 38 > 39 <ul tal:condition="not: maintenance_online" tal:omit-tag=""> 40 <li>Buy a Hostel Maintainance Scratch Card 41 (Code: <span tal:replace="python: info['acco_doc'].acco_maint_code" />) for 42 <span tal:replace="python: info['acco_doc'].acco_maint_fee" /> Nairas</li> 43 <li>Enter the PIN above and press 'Save'.</li> 44 <li>Print your Hostel Maintenance Receipt.</li> 45 </ul> 38 </ul> 39 40 <tal:block condition="python: mode == 'edit'" > 41 42 <ul tal:condition="not: maintenance_online" tal:omit-tag=""> 43 <li>Buy a Hostel Maintainance Scratch Card 44 (Code: <span tal:replace="python: info['acco_doc'].acco_maint_code" />) for 45 <span tal:replace="python: info['acco_doc'].acco_maint_fee" /> Nairas</li> 46 <li>Enter the PIN above and press 'Save'.</li> 47 <li>Print your Hostel Maintenance Receipt.</li> 48 </ul> 49 50 46 51 <tal:block condition="maintenance_online"> 47 52 <table tal:condition="not: info/maintenance_paid"> -
WAeUP_SRP/fceokene/profiles/default/layouts/payment.xml
r2877 r2891 128 128 <property name="vocabulary">payment_status</property> 129 129 </widget> 130 <widget name=" subject" meta_type="Select Widget">131 <property name="title">Payment Subject</property>132 <property name="fields"> 133 <element value=" subject"/>134 </property> 135 <property name="is_required">False</property> 136 <property name="label">Payment Subject</property>137 <property name="label_edit">Payment Subject</property>138 <property name="readonly_layout_modes"/> 139 <property name="hidden_layout_modes"/> 140 <property name="hidden_readonly_layout_modes"/> 141 <property name="vocabulary">payment_ subjects</property>142 </widget> 143 <widget name=" target" meta_type="String Widget">144 <property name="title">Payment Target</property>145 <property name="fields"> 146 <element value=" target"/>147 </property> 148 <property name="is_required">False</property> 149 <property name="label">Payment for</property>150 <property name="label_edit">Payment for</property>130 <widget name="category" meta_type="Select Widget"> 131 <property name="title">Payment Category</property> 132 <property name="fields"> 133 <element value="category"/> 134 </property> 135 <property name="is_required">False</property> 136 <property name="label">Payment Category</property> 137 <property name="label_edit">Payment Category</property> 138 <property name="readonly_layout_modes"/> 139 <property name="hidden_layout_modes"/> 140 <property name="hidden_readonly_layout_modes"/> 141 <property name="vocabulary">payment_categories</property> 142 </widget> 143 <widget name="item" meta_type="String Widget"> 144 <property name="title">Payment Item</property> 145 <property name="fields"> 146 <element value="item"/> 147 </property> 148 <property name="is_required">False</property> 149 <property name="label">Payment Item</property> 150 <property name="label_edit">Payment Item</property> 151 151 <property name="readonly_layout_modes"/> 152 152 <property name="hidden_layout_modes"/> -
WAeUP_SRP/fceokene/profiles/default/payments_catalog.xml
r2863 r2891 14 14 <column value="status"/> 15 15 <column value="student_id"/> 16 <column value=" subject"/>16 <column value="category"/> 17 17 <column value="surcharge"/> 18 18 <column value="type"/> 19 <column value=" target"/>19 <column value="item"/> 20 20 <index name="key" meta_type="FieldIndex"> 21 21 <indexed_attr value="key"/> … … 35 35 <index name="resp_desc" meta_type="KeywordIndex"> 36 36 <indexed_attr value="resp_desc"/> 37 </index> 37 </index> 38 38 <index name="session_id" meta_type="FieldIndex"> 39 39 <indexed_attr value="session_id"/> … … 41 41 <index name="status" meta_type="FieldIndex"> 42 42 <indexed_attr value="status"/> 43 </index> 43 </index> 44 44 <index name="student_id" meta_type="FieldIndex"> 45 45 <indexed_attr value="student_id"/> 46 46 </index> 47 <index name=" subject" meta_type="KeywordIndex">48 <indexed_attr value=" subject"/>47 <index name="category" meta_type="FieldIndex"> 48 <indexed_attr value="category"/> 49 49 </index> 50 <index name=" target" meta_type="FieldIndex">51 <indexed_attr value=" target"/>50 <index name="item" meta_type="FieldIndex"> 51 <indexed_attr value="item"/> 52 52 </index> 53 <index name="type" meta_type=" KeywordIndex">53 <index name="type" meta_type="FieldIndex"> 54 54 <indexed_attr value="type"/> 55 55 </index> -
WAeUP_SRP/fceokene/profiles/default/schemas/payment.xml
r2877 r2891 8 8 <field name="amount" meta_type="CPS String Field"/> 9 9 <field name="surcharge" meta_type="CPS String Field"/> 10 <field name=" subject" meta_type="CPS String Field"/>10 <field name="item" meta_type="CPS String Field"/> 11 11 <field name="type" meta_type="CPS String Field"/> 12 <field name=" target" meta_type="CPS String Field"/>12 <field name="category" meta_type="CPS String Field"/> 13 13 <field name="status" meta_type="CPS String Field"/> 14 14 <field name="resp_pay_reference" meta_type="CPS String Field"/> -
WAeUP_SRP/fceokene/profiles/default/vocabularies.xml
r2813 r2891 31 31 <object name="payment_types" meta_type="CPS Vocabulary"/> 32 32 <object name="payment_status" meta_type="CPS Vocabulary"/> 33 <object name="payment_ subjects" meta_type="CPS Vocabulary"/>33 <object name="payment_categories" meta_type="CPS Vocabulary"/> 34 34 <object name="exam_types" meta_type="CPS Vocabulary"/> 35 35 <object name="pin_prefixes" meta_type="CPS Vocabulary"/> … … 49 49 <object name="screening_types" meta_type="CPS Vocabulary"/> 50 50 <object name="aos" meta_type="CPS Vocabulary"/> 51 <object name="application_status" meta_type="CPS Vocabulary"/> 51 <object name="application_status" meta_type="CPS Vocabulary"/> 52 52 </object> -
WAeUP_SRP/fceokene/waeup_custom/getInterswitchParams.py
r2857 r2891 10 10 # $Id$ 11 11 12 test = " simulate"12 test = "" 13 13 d = {} 14 d['payment_possible'] = True 14 d['payment_possible'] = True 15 15 d['pay_ship_to'] = "Federal College Okene" 16 16 … … 18 18 d['site_name'] = "fceokene.waeup.org" 19 19 d['currency_id'] = '566' 20 d['type'] = 'online' 21 d['status'] = 'started' 20 d['type'] = 'online' 21 d['status'] = 'started' 22 22 d['surcharge'] = '150' 23 23 d['payment_params'] = 'switch_college_split' 24 24 if test == 'simulate': 25 d['action'] = "%s/payments/%s/simulate_callback" % (student.absolute_url(),payment_id) 25 d['action'] = "%s/payments/%s/simulate_callback" % (student.absolute_url(),payment_id) #do not use simulate_callback 26 26 elif test == 'test': 27 d['action'] = "https://webpay.interswitchng.com/test paydirect/webpay/pay.aspx"27 d['action'] = "https://webpay.interswitchng.com/test_paydirect/webpay/pay.aspx" 28 28 else: 29 29 d['action'] = "https://webpay.interswitchng.com/paydirect/webpay/pay.aspx" 30 30 if paytype in ("HOM",): 31 31 d['callback_function'] = 'interswitch_acco_cb' 32 d['pay_item_id'] = '8302' 33 d[' description'] = d['type_description'] = 'Hostel Maintenance Fee'34 d['pay_item_name'] = "FCE Okene %( description)s" % d35 d['amount'] = '4000' 36 d[' subject'] = 'hostel_maintenance'37 d[' target'] = paytype32 d['pay_item_id'] = '8302' 33 d['type_description'] = 'Hostel Maintenance Fee' 34 d['pay_item_name'] = "FCE Okene %(type_description)s" % d 35 d['amount'] = '4000' 36 d['category'] = 'hostel_maintenance' 37 d['item'] = paytype 38 38 39 39 return d -
WAeUP_SRP/fceokene/waeup_custom/getPaymentsFolderInfo.py
r2890 r2891 43 43 #student = getattr(students,student_id) 44 44 student_record = context.students_catalog.getRecordByKey(student_id) 45 context['updatePayments']()45 #context['updatePayments']() 46 46 payments = [] 47 47 … … 98 98 hasattr(so_doc, 'order_id') and not so_doc.resp_code) or str(member) in ('admin','gbenga','isouaba'): 99 99 row['is_requeryable'] = True 100 row['callback_url'] = "%s/payments/%s/interswitch_cb" % (student.absolute_url(), 101 so.getId) 100 row['callback_url'] = "%s/interswitch_cb" % (payments_path) 102 101 href = '%(query_url)s' % info 103 102 href += '?transRef=%(trans_ref)s' % row -
WAeUP_SRP/fceokene/waeup_custom/pay_interswitch.py
r2883 r2891 62 62 info['status'] = 'started' 63 63 info['session_id'] = student_record.session 64 info[' target'] = student_record.course65 info[' subject'] = 'schoolfee'64 info['item'] = student_record.course 65 info['category'] = 'schoolfee' 66 66 info['student_email'] = student_record.email 67 67 now = DateTime.DateTime()
Note: See TracChangeset for help on using the changeset viewer.