source: WAeUP_SRP/branches/joachim-azax-branch/skins/waeup_student/display_session_results.py @ 5136

Last change on this file since 5136 was 1867, checked in by joachim, 18 years ago

changes made in Potsdam (in custom)

  • Property svn:keywords set to Id
File size: 3.2 KB
Line 
1##parameters=REQUEST
2# $Id: display_session_results.py 1867 2007-06-08 09:59:59Z joachim $
3"""
4process the Application Form
5return html renderer + psm
6"""
7import DateTime
8current = DateTime.DateTime()
9pr = context.portal_registration
10
11validate = REQUEST.has_key("cpsdocument_create_button")
12
13lt = context.portal_layouts
14#pr = context.portal_registration
15
16res,psm,ds = lt.renderLayout('student_session_results_search',
17                             'student_returning',
18                             context,
19                             mapping=validate and REQUEST,
20                             layout_mode='create',
21                             ob = {},
22                             commit=False,
23                             formaction = "display_session_results",
24                             button = "Search",
25                             )
26if psm == 'invalid':
27    return context.display_session_results_form(rendered = res,
28                                 psm = "Please correct your input!",
29                                 #psm = "%s, %s" % (psm,ds),
30                                 firstlayout = True,
31                                 lastlayout = True,
32                                 ds = ds,
33                                 )
34elif psm == '':
35    return context.display_session_results_form(rendered = res,
36                                 psm = None,
37                                 firstlayout = True,
38                                 lastlayout = True,
39                                 ds = ds,
40                                 )
41elif psm == 'valid':
42    pass
43s_fields = context.returning_import.schema()
44student_rec = ds.get('student')
45student = {}
46for field in s_fields:
47    student[field] = getattr(student_rec,field)
48brains = ds.get('results')
49sem1 = []
50sem2 = []
51with_courses_cat = hasattr(context,'courses_catalog')
52
53fields = context.results_import.schema()
54verdict = None
55session = None
56for r in brains:
57    if verdict is None:
58        verdict = r.Verdict
59        session = r.Session
60    result = {}
61    for field in fields:
62        result[field] = getattr(r,field)
63    if with_courses_cat:
64        res = context.courses_catalog(code = r.CosCode)
65    if r.CosCode == 'N/A':
66        result['title'] = 'N/A'
67    elif with_courses_cat and res:
68        result['title'] = res[0].title
69    else:
70        result['title'] = "To Be Determined"
71    if r.Semester == '2':
72        sem2.append(result)
73    else:
74        sem1.append(result)
75#from Products.zdb import set_trace;set_trace()
76results = (sem1, sem2)
77student['verdict'] = verdict
78student['session'] = session
79registered = None
80res = context.returning_import(matric_no = student_rec.matric_no)
81if res:
82    student_id = res[0].id
83
84    #There was one student with empty id in returning_import (BMS0406035)
85    student_obj = None
86    if student_id:
87        student_obj = getattr(context.portal_url.getPortalObject().campus.students,student_id,None)
88    else:
89        registered = ' '
90
91    if student_obj and hasattr(student_obj,'application'):
92        registered = student_id
93else:
94    registered = "no_student_object"
95return context.session_results_anon_view(student=student,
96                                           results=results,
97                                           name = "%(Firstname)s %(Middlename)s %(Lastname)s" % student_rec,
98                                           registered = registered)
99
Note: See TracBrowser for help on using the repository browser.