source: WAeUP_SRP/trunk/skins/waeup_student/getMemberInfo.py @ 2087

Last change on this file since 2087 was 2059, checked in by joachim, 17 years ago

fix for #167 see there

File size: 2.6 KB
Line 
1## Script (Python) "getMemberInfo"
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: getApplicationInfo.py 1161 2006-12-31 07:50:50Z henrik $
11"""
12return Info about the current Student
13"""
14import logging
15logger = logging.getLogger('Student.Member.Info')
16
17request = context.REQUEST
18mtool = context.portal_membership
19wf = context.portal_workflow
20member = mtool.getAuthenticatedMember()
21member_id = str(member)
22path_info = request.get('PATH_INFO').split('/')
23if mtool.isAnonymousUser():
24    return None
25info = {}
26requested_id = context.getStudentId()
27if requested_id and not context.isStaff() and member_id != requested_id:
28    logger.info('%s tried to access personal object of %s' % (member_id,requested_id))
29    student_id = requested_id
30    return None
31elif context.isStaff():
32    student_id = requested_id
33else:
34    student_id = member_id
35
36
37students_object = context.portal_url.getPortalObject().campus.students
38student = getattr(students_object, student_id)
39
40if hasattr(student,"application"):
41
42    info['student'] = student
43    info['id'] = student_id
44    info['review_state'] = context.getStudentReviewState()
45    info['per'] = student.personal
46    info['app'] = student.application
47    info['per_doc'] = student.personal.getContent()
48    info['app_doc'] = student.application.getContent()
49    info['clear_doc'] = student.clearance.getContent()
50    info['password'] = context.waeup_tool.getCredential(student_id)
51
52    if info['per_doc'].email:
53        info['email'] = info['per_doc'].email
54    else:
55        info['email'] = info['app_doc'].app_email
56
57    msg="""
58Your SRP Member Details
59-----------------------
60
61Fullname: %s
62Student Id: %s
63Matriculation Number: %s
64JAMB Registration Number: %s
65Registration Status: %s
66Email Address in Application Data: %s
67Email Address in Personal Data: %s
68Date of Birth: %s
69Password: '%s'
70
71"""
72
73    info['message'] = msg % (
74        student.Title(),
75        student_id,
76        info['clear_doc'].matric_no,
77        info['app_doc'].jamb_reg_no,
78        info['review_state'],
79        info['app_doc'].app_email,
80        info['per_doc'].email,
81        info['clear_doc'].birthday,
82        info['password']
83        )
84else:
85
86    info['student'] = student
87    info['id'] = student_id
88    info['review_state'] = wf.getInfoFor(student,'review_state',None)
89    info['password'] = context.waeup_tool.getCredential(student_id)
90    info['email'] = 'N/A'
91
92    msg="""
93Your SRP Member Details
94-----------------------
95
96Fullname: %s
97Student Id: %s
98Password: %s
99
100"""
101
102    info['message'] = msg % (
103        'N/A',
104        student_id,
105        info['password']
106        )
107
108
109
110
111
112return info
Note: See TracBrowser for help on using the repository browser.