## Script (Python) "getPaymentInfo" ##bind container=container ##bind context=context ##bind namespace= ##bind script=script ##bind subpath=traverse_subpath ##parameters= ##title= ## # $Id: getPaymentInfo.py 2975 2008-01-03 17:20:02Z joachim $ """ return Info about the current Student """ import logging logger = logging.getLogger('Skins.getStudentBaseInfo') from DateTime import DateTime try: from Products.zdb import set_trace except: def set_trace(): pass # request = context.REQUEST # mtool = context.portal_membership # wf = context.portal_workflow # member = mtool.getAuthenticatedMember() # member_id = str(member) # if mtool.isAnonymousUser(): # return None # info = {} # requested_id = context.getStudentId() # if requested_id and not context.isStaff() and member_id != requested_id: # logger.info('%s tried to access %s' % (member_id,requested_id)) # return None # elif context.isStaff(): # student_id = requested_id # else: # student_id = member_id info = context.waeup_tool.getAccessInfo(context) student_id = info['student_id'] if student_id is None: return None #students_object = context.portal_url.getPortalObject().campus.students #student = getattr(students_object,student_id) res = context.students_catalog(id = student_id) if len(res) != 1: return None sbrain = res[0] info['id'] = student_id info['student'] = context.getFormattedStudentEntry(sbrain) payment = context.getContent() info['payment_doc'] = payment info['is_online_pmt'] = io = payment.resp_code in ('00','AP','IP') info['is_scratchcard_pmt'] = isc = payment.resp_code == 'SC' #set_trace() # if isc: # p,b,n = str(payment.order_id).split('-') # batch_object = getattr(context.pins,"%s_%s" % (p,b),None) # if batch_object is None: # info['cost'] = "unknown" # else: # cost = batch_object.getContent().cost # info['cost'] = "%6.2f N" % cost # #info['cost'] = "%6.2f N" % getattr(batch_object.getContent(),'cost',0.0) info['is_interrupted'] = ii = payment.resp_code == '' info['unknown_code'] = not (io or isc or ii) info['resp_code'] = payment.resp_code info['resp_desc'] = payment.resp_desc #info['entry_mode'] = sbrain.entry_mode return info