source: WAeUP_SRP/trunk/skins/waeup_student/getStudyCourseInfo.py @ 1418

Last change on this file since 1418 was 1417, checked in by joachim, 18 years ago

Edit student_study course added
verdicts vocabulary added
new levels are only created, when no level there,
allow loggin for returning students, which have been created with add_student

  • Property svn:keywords set to Id
File size: 1.8 KB
Line 
1## Script (Python) "getStudyCourseInfo"
2##bind container=container
3##bind context=context
4##bind namespace=
5##bind script=script
6##bind subpath=traverse_subpath
7##parameters=student=None
8##title=
9##
10# $Id: getStudyCourseInfo.py 1417 2007-02-15 10:56:43Z joachim $
11"""
12return Info about the Students StudyCourse
13"""
14request = context.REQUEST
15
16wf = context.portal_workflow
17path_info = request.get('PATH_INFO').split('/')
18
19info = {}
20info['is_so'] = context.isSectionOfficer()
21info['action'] = "%s" % context.campus.absolute_url()
22info['choosen_ids'] = request.get('ids',[])
23course  = info['doc'] = context.getContent()
24student_id = context.getStudentId()
25res = context.students_catalog(id = student_id)
26if not res:
27    return None
28sbrain = res[0]
29info['student'] = sbrain
30cert_id = sbrain.course
31res = context.portal_catalog(portal_type = "Certificate", id = cert_id)
32ci = {}
33if res:
34    info['cert_id'] = cert_id
35    brain = res[0]
36    ci['study_course'] = brain.getId
37    ci['title'] = brain.Title
38    pl = brain.getPath().split('/')
39    ci['faculty'] = pl[-4]
40    ci['department'] = pl[-3]
41    info['course_doc'] = ci
42else:
43    info['course'] = None
44items = []
45current_level = sbrain.level
46levels = context.objectIds()
47#levels.sort()
48#if int(current_level) > int(levels[-1]):
49if not levels:
50    context.invokeFactory('StudentStudyLevel',"%s" % current_level)
51    level = getattr(context,"%s" % current_level)
52    level.getContent().edit(mapping={'session': "2006/2007"})
53    context.portal_workflow.doActionFor(level,'open')
54    context.portal_workflow.doActionFor(level,'close_for_edit')
55    levels.append(current_level)
56#from Products.zdb import set_trace;set_trace()
57for l in levels:
58    row = {}
59    row['id'] = l
60    row['title'] = "Level %s" % l
61    row['url'] = "%s/%s" % (context.absolute_url(),l)
62    items.append(row)
63
64info['items'] = items
65return info
Note: See TracBrowser for help on using the repository browser.