source: WAeUP_SRP/trunk/skins/waeup_student/getRetStudentStatistics.py @ 1762

Last change on this file since 1762 was 1762, checked in by Henrik Bettermann, 17 years ago

new statistics ready

File size: 1.9 KB
Line 
1## Script (Python) "getNewStudentStatistics"
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"""
14
15import logging
16logger = logging.getLogger('Skins.getRetStudentStatistics')
17
18logger.info('%s invoked statistics' % context.portal_membership.getAuthenticatedMember())
19if not context.isStaff():
20    return 'Not allowed'
21
22entry_sessions = ('98','99','00','01','02','03','04','05')
23
24new_states =      ('returning',
25                   'school_fee_paid',
26                   'courses_registered',
27                   'courses_validated',
28                   )
29faculties = context.portal_catalog(portal_type="Faculty")
30
31l = []
32
33
34fac_res = {}
35
36dict = {}
37dict['id'] = 'All Faculties'
38dict['title'] = 'All Faculties'
39res = context.students_catalog(entry_session = entry_sessions)
40dict['total'] = len(res)
41for state in new_states:
42    res = context.students_catalog(entry_session = entry_sessions, review_state = state)
43    dict[state] = len(res)
44    statepercent = state+'_percent'
45    if dict['total'] > 0:
46        dict[statepercent] = "%.0f" % round(dict[state]*100.0/dict['total'])
47    else:
48        dict[statepercent] = 0
49#fac_res['all'] = dict
50l.append(dict)
51
52for f in faculties:
53    dict = {}
54    dict['id'] = f.getId
55    dict['title'] = f.Title
56    res = context.students_catalog(entry_session = entry_sessions, faculty = f.getId)
57    dict['total'] = len(res)
58    for state in new_states:
59        res = context.students_catalog(entry_session = entry_sessions, faculty = f.getId, review_state = state)
60        dict[state] = len(res)
61        statepercent = state+'_percent'
62        if dict['total'] > 0:
63            dict[statepercent] = "%.0f" % round(dict[state]*100.0/dict['total'])
64        else:
65            dict[statepercent] = 0
66    #fac_res[f.getId] = dict
67    l.append(dict)
68
69return l
70
71
Note: See TracBrowser for help on using the repository browser.