## Script (Python) "getPersonalInfo" ##bind container=container ##bind context=context ##bind namespace= ##bind script=script ##bind subpath=traverse_subpath ##parameters= ##title= ## # $Id: getApplicationInfo.py 1161 2006-12-31 07:50:50Z henrik $ """ return Info about the current Student """ import logging logger = logging.getLogger('Student.Personal.Info') request = context.REQUEST mtool = context.portal_membership wf = context.portal_workflow member = mtool.getAuthenticatedMember() member_id = str(member) path_info = request.get('PATH_INFO').split('/') ##from Products.zdb import set_trace ##set_trace() 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", "accessed personal object of", "%s"' % (member_id,requested_id)) student_id = requested_id 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) #info['id'] = student_id #info['student'] = student res = context.portal_catalog(portal_type='Student',id = student_id) if res: info['review_state'] = res[0].review_state #info['review_state'] = wf.getInfoFor(student,'review_state',None) #info['per'] = student.personal info['per_doc'] = student.personal.getContent() return info