source: WAeUP_SRP/trunk/skins/waeup_student/getStudentStatistics.py @ 1167

Last change on this file since 1167 was 1128, checked in by joachim, 18 years ago

files for custom

  • Property svn:keywords set to Id
File size: 2.6 KB
Line 
1## Script (Python) "getStudentStatistics"
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 1128 2006-12-22 00:28:30Z joachim $
11"""
12return Student Statistic
13"""
14try:
15    from Products.AdvancedQuery import Eq, Between, Le,In
16    aq_portal = context.portal_catalog.evalAdvancedQuery
17    aq_students = context.students_catalog.evalAdvancedQuery
18except:
19    evalAdvancedQuery = None
20l = []
21if not context.isStaff():
22    return l
23dep = {}
24dep['id'] = "All"
25total = len(context.students_catalog())
26dep['students'] = total
27cpe_res = context.portal_catalog(review_state ='clearance_pin_entered')
28cpe_ids = [r.getId for r in cpe_res]
29cpe = len(cpe_res)
30dep['clearance_pin_entered'] = cpe
31dep['clearance_pin_entered_percent'] = (cpe*100/total)
32cr_res = context.portal_catalog(review_state='clearance_requested')
33cr_ids = [r.getId for r in cr_res]
34cr = len(cr_res)
35dep['clearance_requested'] = cr
36dep['clearance_requested_percent'] = (cr*100/total)
37cav_res = context.portal_catalog(review_state ='cleared_and_validated')
38cav_ids = [r.getId for r in cav_res]
39cav = len(cav_res)
40dep['cleared_and_validated'] = cav
41dep['cleared_and_validated_percent'] = (cav*100/total)
42or_res = context.portal_catalog(review_state='objection_raised')
43or_ids = [r.getId for r in or_res]
44ora = len(or_res)
45dep['objection_raised'] = ora
46dep['objection_raised_percent'] = (ora*100/total)
47l.append(dep)
48fs = context.portal_catalog(portal_type="Faculty")
49#from Products.zdb import set_trace;set_trace()
50for fid in [f.getId for f in fs]:
51    dep = {}
52    dep['id'] = fid
53    fquery = Eq('portal_type','Faculty')
54    fac_res = context.students_catalog(faculty=fid)
55    fac_ids = [r.id for r in fac_res]
56    total = len(fac_res)
57    if total == 0:
58        continue
59    dep['students'] = total
60    cpe = len([s for s in fac_ids if s in cpe_ids])
61    dep['clearance_pin_entered'] = cpe
62    dep['clearance_pin_entered_percent'] = 0
63    if total:
64        dep['clearance_pin_entered_percent'] = (cpe*100/total)
65    cr = len([s for s in fac_ids if s in cr_ids])
66    dep['clearance_requested'] = cr
67    dep['clearance_requested_percent'] = 0
68    if total:
69        dep['clearance_requested_percent'] = (cr*100/total)
70    cav = len([s for s in fac_ids if s in cav_ids])
71    dep['cleared_and_validated'] = cav
72    dep['cleared_and_validated_percent'] = 0
73    if total:
74        dep['cleared_and_validated_percent'] = (cav*100/total)
75    ora = len([s for s in fac_ids if s in or_ids])
76    dep['objection_raised'] = ora
77    dep['objection_raised_percent'] = 0
78    if total:
79        dep['objection_raised_percent'] = (ora*100/total)
80    l.append(dep)
81return l
Note: See TracBrowser for help on using the repository browser.