source: WAeUP_SRP/branches/regebro-noskins/skins/waeup_academics/getCoursesInfo.py @ 9722

Last change on this file since 9722 was 1366, checked in by joachim, 18 years ago

M profiles/default/schemas/certificate_course.xml
make level searchable
M profiles/default/layouts/course.xml
add code to course layout to allow creation
M skins/waeup_default/waeup_edit.py
M skins/waeup_default/waeup_document_create_do.py
M skins/waeup_custom/folder_delete.py
fix that courses_catalog also get updated
M skins/waeup_academics/courses_view.pt
M skins/waeup_academics/getCoursesInfo.py
use courses catalog.

  • Property svn:keywords set to Id
File size: 2.1 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 1366 2007-01-27 15:40:19Z joachim $
11"""
12return Info about the Faculties
13"""
14def cmpsemester(a,b):
15    if a.semester == b.semester:
16        return 0
17    if a.semester > b.semester:
18        return 1
19    return -1
20   
21
22
23request = context.REQUEST
24
25wf = context.portal_workflow
26path_info = request.get('PATH_INFO').split('/')
27mtool = context.portal_membership
28
29info = {}
30#dep_id = request.get('PATH_TRANSLATED').split('/')[-2]
31dep_id = context.aq_parent.getId()
32info['action'] = "%s" % context.absolute_url()
33info['choosen_ids'] = request.get('ids',[])
34info['doc'] = context.getContent()
35res = context.portal_catalog(meta_type="Department",id = dep_id)
36info['courses'] = []
37if not res:
38    return info
39brain = res[-1]
40cp = brain.getPath()
41info['container_path'] = cp
42info['dep_id'] = dep_id
43
44res = context.courses_catalog(department=dep_id)
45items = [ brain for brain in res]
46items.sort(cmpsemester)
47rows = []
48for r in items:
49    row = {}
50    code = getattr(r,'code',None)
51    if code is None:
52        continue
53    ro = getattr(context,code)
54    row['id'] = code
55    row['title'] = r['title']
56    row['semester'] = r['semester']
57    row['url'] = "%s/%s" % (context.absolute_url(),code)
58    row['review_state'] = wf.getInfoFor(ro,'review_state','None')
59    row['is_editable'] = mtool.checkPermission('Modify portal content', ro)
60    rows.append(row)
61#from Products.zdb import set_trace;set_trace()
62##res = context.portal_catalog(container_path="%s/courses" % cp)
63##items = []
64##for sem in ('1','2'):
65##    for r in res:
66##        row = {}
67##        ro = r.getObject()
68##        rd = ro.getContent()
69##        if rd.semester != sem:
70##            continue
71##        row['id'] = r.getId
72##        row['title'] = rd.Title()
73##        row['semester'] = rd.semester
74##        row['url'] = ro.absolute_url()
75##        row['review_state'] = wf.getInfoFor(ro,'review_state','None')
76##        row['is_editable'] = mtool.checkPermission('Modify portal content', ro)
77##        items.append(row)
78info['courses'] = rows
79return info
Note: See TracBrowser for help on using the repository browser.