source: WAeUP_SRP/branches/regebro-noskins/skins/waeup_student/getRetStudentStatistics.py

Last change on this file was 1286, checked in by Henrik Bettermann, 18 years ago

new student statistics
sc payment beautified
student workflow state and transition renamed

File size: 1.4 KB
Line 
1## Script (Python) "getRetStudentStatistics"
2##bind container=container
3##bind context=context
4##bind namespace=
5##bind script=script
6##bind subpath=traverse_subpath
7##parameters=
8##title=
9##
10# $Id: getStudentStatistics.py 1277 2007-01-11 21:11:37Z joachim $
11"""
12return Student Statistics
13"""
14import logging
15logger = logging.getLogger('Student.Statistics')
16
17try:
18    from Products.AdvancedQuery import Eq, Between, Le,In, Ge
19    aq_portal = context.portal_catalog.evalAdvancedQuery
20    aq_students = context.students_catalog.evalAdvancedQuery
21except:
22    evalAdvancedQuery = None
23logger.info('"%s","invoked returning statistics"' % context.portal_membership.getAuthenticatedMember())
24l = []
25if not context.isStaff():
26    return l
27dep = {}
28
29dep['id'] = "All Faculties"
30
31#from Products.zdb import set_trace;set_trace()
32
33ret_res = context.portal_catalog(review_state ='returning')
34ret_ids = [r.getId for r in ret_res]
35total_returned = aq_students(Ge('level','200'))
36total_returned = float(len(total_returned))
37dep['returned'] = "%.0f" % total_returned
38
39l.append(dep)
40fs = context.portal_catalog(portal_type="Faculty")
41for fid in [f.getId for f in fs]:
42    dep = {}
43    dep['id'] = fid
44    fquery = Eq('faculty',fid)
45    squery = Ge('level','200')
46    fac_res = aq_students(fquery & squery)
47    fac_ids = [r.id for r in fac_res]
48    ret = len([s for s in fac_ids if s in ret_ids])
49    dep['returned'] = ret
50
51    if ret == 0:
52        continue
53
54    l.append(dep)
55
56return l
Note: See TracBrowser for help on using the repository browser.