## Script (Python) "getTransferInfo" ##bind container=container ##bind context=context ##bind namespace= ##bind script=script ##bind subpath=traverse_subpath ##parameters= ##title= ## # $Id: getTransferInfo.py 1571 2007-03-17 15:25:56Z henrik $ """ return Info about the current Student """ import logging logger = logging.getLogger('Skins.getTransferInfo') from DateTime import DateTime request = context.REQUEST mtool = context.portal_membership wf = context.portal_workflow member = mtool.getAuthenticatedMember() member_id = str(member) if mtool.isAnonymousUser(): return None info = {} #from Products.zdb import set_trace #set_trace() 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 students_object = context.portal_url.getPortalObject().campus.students student = getattr(students_object,student_id) payments = getattr(student,'payments').objectIds() info['paid'] = False for payment in payments: if payment.startswith('transfer'): info['paid'] = True payments_obj = getattr(student,'payments') payment_obj = getattr(payments_obj,payment) info['pin'] = payment_obj.getContent().order_id break #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) info['entry_mode'] = sbrain.entry_mode results = context.results_import(matric_no=sbrain.matric_no) taken = [] if len(results) > 0: for r in results: taken.append(r) info['taken'] = taken # for testing of transfer forms #info['paid'] = True #info['pin'] = 'CLR-1-0123456789' return info