## Script (Python) "getMemberInfo" ##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.Member.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('/') # 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 personal object of %s' % (member_id,requested_id)) # student_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) complete_msg=""" Your SRP Member Details ----------------------- Fullname: %(student_name)s Student Id: %(id)s Matriculation Number: %(matric_no)s Registration Number: %(jamb_reg_no)s Registration Status: %(review_state)s Email Address in Application Data: %(app_email)s Email Address in Personal Data: %(per_email)s Date of Birth: %(birthday)s Password: '%(password)s' """ short_msg=""" Your SRP Member Details ----------------------- Fullname: %(student_name)s Student Id: %(id)s Password: %(password)s """ student_record = context.students_catalog.getRecordByKey(student_id) if hasattr(student,"application") and hasattr(student,"personal") and hasattr(student,"clearance"): #info['student'] = student info['id'] = student_id info['review_state'] = student_record.review_state #info['per'] = getattr(student,'personal',None) #per_doc = info['per_doc'] = student.personal.getContent() #info['app_doc'] = student.application.getContent() info['jamb_reg_no'] = student_record.jamb_reg_no #info['clear_doc'] = student.clearance.getContent() info['matric_no'] = student_record.matric_no info['password'] = context.waeup_tool.getCredential(student_id) info['student_name'] = student_record.name info['birthday'] = student.clearance.getContent().birthday app_email = info['app_email'] = student.application.getContent().app_email per_email = info['per_email'] = student_record.email if app_email: info['email'] = app_email else: info['email'] = per_email info['message'] = complete_msg % info info['with_email'] = bool(info['email']) else: info['student_name'] = 'N/A' info['id'] = student_id info['review_state'] = wf.getInfoFor(student,'review_state',None) info['password'] = context.waeup_tool.getCredential(student_id) info['email'] = 'N/A' info['message'] = short_msg % info info['with_email'] = False return info