source: WAeUP_SRP/base/skins/waeup_epayment/getPaymentInfo.py @ 2897

Last change on this file since 2897 was 2058, checked in by joachim, 17 years ago

payment_receipt should now work in all cases.

  • Property svn:keywords set to Id
File size: 2.0 KB
Line 
1## Script (Python) "getPaymentInfo"
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: getPaymentInfo.py 2058 2007-07-26 11:03:52Z joachim $
11"""
12return Info about the current Student
13"""
14import logging
15logger = logging.getLogger('Skins.getStudentBaseInfo')
16from DateTime import DateTime
17try:
18    from Products.zdb import set_trace
19except:
20    def set_trace():
21        pass
22
23request = context.REQUEST
24mtool = context.portal_membership
25wf = context.portal_workflow
26member = mtool.getAuthenticatedMember()
27member_id = str(member)
28
29if mtool.isAnonymousUser():
30    return None
31info = {}
32requested_id = context.getStudentId()
33if requested_id and not context.isStaff() and member_id != requested_id:
34    logger.info('%s tried to access %s' % (member_id,requested_id))
35    return None
36elif context.isStaff():
37    student_id = requested_id
38else:
39    student_id = member_id
40
41
42#students_object = context.portal_url.getPortalObject().campus.students
43#student = getattr(students_object,student_id)
44
45res = context.students_catalog(id = student_id)
46if len(res) != 1:
47    return None
48sbrain = res[0]
49info['id'] = student_id
50info['student'] = context.getFormattedStudentEntry(sbrain)
51payment = context.getContent()
52info['payment_doc'] = payment
53info['is_online_pmt'] = io = payment.resp_code in ('00','AP','IP')
54info['is_scratchcard_pmt'] = isc =  payment.resp_code == 'SC'
55#set_trace()
56# if isc:
57#     p,b,n = str(payment.order_id).split('-')
58#     batch_object = getattr(context.pins,"%s_%s" % (p,b),None)
59#     if batch_object is None:
60#         info['cost'] = "unknown"
61#     else:
62#         cost = batch_object.getContent().cost
63#         info['cost'] = "%6.2f N" % cost
64#         #info['cost'] = "%6.2f N" % getattr(batch_object.getContent(),'cost',0.0)
65info['is_interrupted'] = ii = payment.resp_code == ''
66info['unknown_code'] = not (io or isc or ii)
67info['resp_code'] = payment.resp_code
68info['resp_desc'] = payment.resp_desc
69#info['entry_mode'] = sbrain.entry_mode
70
71
72return info
Note: See TracBrowser for help on using the repository browser.