source: WAeUP_SRP/trunk/skins/waeup_academics/getCoursesInfo.py @ 912

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

new local roles implemented
role SectionOfficer? not yet tested

  • Property svn:keywords set to Id
File size: 1.5 KB
Line 
1## Script (Python) "getCoursesInfo"
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: getCoursesInfo.py 911 2006-11-20 15:11:29Z henrik $
11"""
12return Info about the Faculties
13"""
14request = context.REQUEST
15
16wf = context.portal_workflow
17path_info = request.get('PATH_INFO').split('/')
18mtool = context.portal_membership
19
20info = {}
21#dep_id = request.get('PATH_TRANSLATED').split('/')[-2]
22dep_id = context.aq_parent.getId()
23info['is_sm'] = context.isSectionManager()
24info['is_so'] = context.isSectionOfficer()
25info['is_student'] = context.isStudent()
26info['action'] = "%s" % context.absolute_url()
27info['choosen_ids'] = request.get('ids',[])
28info['doc'] = context.getContent()
29res = context.portal_catalog(meta_type="Department",id = dep_id)
30info['courses'] = []
31if not res:
32    return info
33brain = res[-1]
34cp = brain.getPath()
35info['container_path'] = cp
36info['dep_id'] = dep_id
37
38res = context.portal_catalog(container_path="%s/courses" % cp)
39items = []
40for sem in ('1','2'):
41    for r in res:
42        row = {}
43        ro = r.getObject()
44        rd = ro.getContent()
45        if rd.semester != sem:
46            continue
47        row['id'] = r.getId
48        row['title'] = rd.Title()
49        row['semester'] = rd.semester
50        row['url'] = ro.absolute_url()
51        row['review_state'] = wf.getInfoFor(ro,'review_state','None')
52        row['is_editable'] = mtool.checkPermission('Modify portal content', ro)
53        items.append(row)
54info['courses'] = items
55return info
Note: See TracBrowser for help on using the repository browser.