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

Last change on this file since 17977 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.