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

Last change on this file since 1113 was 1112, checked in by joachim, 18 years ago

statistic enhanced (in 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 1112 2006-12-21 14:01:14Z 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    dep['students'] = total
58    cpe = len([s for s in fac_ids if s in cpe_ids])
59    dep['clearance_pin_entered'] = cpe
60    dep['clearance_pin_entered_percent'] = 0
61    if total:
62        dep['clearance_pin_entered_percent'] = (cpe*100/total)
63    cr = len([s for s in fac_ids if s in cr_ids])
64    dep['clearance_requested'] = cr
65    dep['clearance_requested_percent'] = 0
66    if total:
67        dep['clearance_requested_percent'] = (cr*100/total)
68    cav = len([s for s in fac_ids if s in cav_ids])
69    dep['cleared_and_validated'] = cav
70    dep['cleared_and_validated_percent'] = 0
71    if total:
72        dep['cleared_and_validated_percent'] = (cav*100/total)
73    ora = len([s for s in fac_ids if s in or_ids])
74    dep['objection_raised'] = ora
75    dep['objection_raised_percent'] = 0
76    if total:
77        dep['objection_raised_percent'] = (ora*100/total)
78    l.append(dep)
79return l
Note: See TracBrowser for help on using the repository browser.