source: WAeUP_SRP/trunk/skins/waeup_epayment/check_transactions.py @ 1622

Last change on this file since 1622 was 1622, checked in by Henrik Bettermann, 18 years ago

output in csv format

  • Property svn:keywords set to Id
File size: 2.8 KB
Line 
1## Script (Python) "check_transactions"
2##bind container=container
3##bind context=context
4##bind namespace=
5##bind script=script
6##bind subpath=traverse_subpath
7##parameters=
8##title=
9##
10# $Id: check_transactions.py 1622 2007-03-22 22:01:46Z henrik $
11"""
12payment callback
13"""
14import logging
15logger = logging.getLogger('Skins.check_transactions')
16from AccessControl import Unauthorized
17import DateTime
18if context.portal_membership.isAnonymousUser():
19    return None
20
21request = context.REQUEST
22response = request.RESPONSE
23students = context.portal_url.getPortalObject().campus.students
24wftool = context.portal_workflow
25mtool = context.portal_membership
26member = mtool.getAuthenticatedMember()
27member_id = str(member)
28student_id = context.getStudentId()
29online_transactions = context.online_payment_transactions
30def rwrite(s):
31    response.setHeader('Content-type','text/html; charset=ISO-8859-15')
32    response.write("%s<br>\n" % s)
33correct = 0
34count = 0
35for ot_brain in online_transactions():
36    student_id = ot_brain.student_id
37    if not students.hasObject(student_id):
38        rwrite("%s not found" % student_id)
39        continue
40    student_obj = getattr(students,student_id)
41    if not student_obj.hasObject('payments'):
42        rwrite("%s payments-folder not found" % student_id)
43        continue
44    payments_folder = getattr(student_obj,'payments')
45    payment_id = "p%s" % ot_brain.order_id[6:]
46    if not payments_folder.hasObject(payment_id):
47        rwrite("%s payment %s not found" % (student_id,payment_id))
48        continue
49    payment_doc = getattr(payments_folder,payment_id).getContent()
50    response_code = ot_brain.response_code
51    count +=1
52    if payment_doc.resp_code != response_code:
53        rwrite('"%d","%d","%s","%s","%s","%s"' % (
54                                                                        count,correct,
55                                                                        student_id,
56                                                                        payment_id,
57                                                                        response_code,
58                                                                        payment_doc.resp_code
59                                                                        ))
60    elif payment_doc.resp_code == response_code:
61        correct +=1
62        rwrite('"%d","%d","%s","%s","%s","%s"' % (
63                                                                        count,correct,
64                                                                        student_id,
65                                                                        payment_id,
66                                                                        response_code,
67                                                                        payment_doc.resp_code
68                                                                        ))
Note: See TracBrowser for help on using the repository browser.