source: WAeUP_SRP/branches/regebro-noskins/skins/waeup_student/display_session_results.py @ 17977

Last change on this file since 17977 was 1448, checked in by Henrik Bettermann, 18 years ago

prepared for import of dummy results

  • Property svn:keywords set to Id
File size: 3.1 KB
Line 
1##parameters=REQUEST
2# $Id: display_session_results.py 1448 2007-02-20 19:51:55Z henrik $
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(layout_id= 'student_session_results_search',
17                      schema_id= 'student_returning',
18                      context=context,
19                      mapping=validate and REQUEST,
20                      ob={},
21                      layout_mode='create',
22                      formaction = "display_session_results",
23                      button = "Search",
24                      commit=False,
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.students_catalog(matric_no = student_rec.matric_no)
81if res:
82    student_id = res[0].id
83    student_obj = getattr(context.portal_url.getPortalObject().campus.students,student_id,None)
84    if student_obj and hasattr(student_obj,'application'):
85        registered = student_id
86else:
87    registered = "no_student_object"
88return context.session_results_anon_view(student=student,
89                                           results=results,
90                                           name = "%(Firstname)s %(Middlename)s %(Lastname)s" % student_rec,
91                                           registered = registered)
92
Note: See TracBrowser for help on using the repository browser.