source: WAeUP_SRP/trunk/skins/waeup_student/create_level.py @ 1497

Last change on this file since 1497 was 1495, checked in by joachim, 18 years ago

fixed versions for course_registration

  • Property svn:keywords set to Id
File size: 3.0 KB
Line 
1##parameters=
2# $Id: create_level.py 1495 2007-02-26 12:57:35Z joachim $
3"""
4process the Application Form
5return html renderer + psm
6"""
7request = context.REQUEST
8import DateTime,logging
9try:
10    from Products.zdb import set_trace
11except:
12    def set_trace():
13        pass
14from Products.AdvancedQuery import Eq, Between, Le,In
15aq_portal = context.portal_catalog.evalAdvancedQuery
16
17current = DateTime.DateTime()
18request = context.REQUEST
19session = request.SESSION
20response = request.RESPONSE
21redirect = response.redirect
22logger = logging.getLogger('Student.create_level')
23students = context.portal_directories.students
24mtool = context.portal_membership
25member = mtool.getAuthenticatedMember()
26member_id = str(member)
27lt = context.portal_layouts
28wt = context.waeup_tool
29student = context.students_catalog(id=context.getStudentId())[0]
30cert_id = student.course
31current_level = student.level
32in_progress =  session.get('in_progress','finished')
33if in_progress == 'finished':
34    session.set('in_progress','started')
35    view = context.in_progress_view(refresh=3,page='%s/study_level_view' % current_level)
36    response.setHeader('Content-type','text/html; charset=ISO-8859-15')
37    response.setHeader('Content-length','%d' % (len(view)))
38    response.setStatus('OK')
39    response.write(view)
40    response.write('')
41elif in_progress == 'started':
42    return
43context.invokeFactory('StudentStudyLevel',"%s" % current_level)
44level = getattr(context,"%s" % current_level)
45context.portal_workflow.doActionFor(level,'open')
46study_session = context.getSessionString()
47level.getContent().edit(mapping={'session': study_session})
48context.portal_workflow.doActionFor(level,'close_for_edit')
49results = context.results_import(matric_no = student.matric_no)
50if results:
51    carry_overs = [brain for brain in results if brain.GRADE in ('D','E','F')]
52    #carry_overs = [brain for brain in results if int(brain.Score) < 40 ]
53    l = []
54    for co in carry_overs:
55        d = context.getCourseInfo(co.CosCode)
56        d['grade'] = co.GRADE
57        d['carry_level'] = co.CarryLevel
58        cr_id = level.invokeFactory('StudentCourseResult',"%s_co" % co.CosCode)
59        course_result = getattr(level,cr_id)
60        context.portal_workflow.doActionFor(course_result,'open')
61        course_result.getContent().edit(mapping=d)
62res = context.portal_catalog(portal_type="Certificate", id = cert_id)
63l = []
64if res:
65    cert = res[0]
66    path = cert.getPath()
67    query = Eq("path",path) &\
68            Eq('portal_type','CertificateCourse') &\
69            Eq('SearchableText', "%s" % student.level)
70    courses = aq_portal(query)
71    for c in courses:
72        d = context.getCourseInfo(c.getId)
73        cr_id = level.invokeFactory('StudentCourseResult',c.getId)
74        course_result = getattr(level,cr_id)
75        context.portal_workflow.doActionFor(course_result,'open')
76        d['core_or_elective'] = getattr(c.getObject().getContent(),'core_or_elective')
77        course_result.getContent().edit(mapping=d)
78session.set('in_progress','finished')
79return response.redirect("%s" % level.absolute_url())
Note: See TracBrowser for help on using the repository browser.