Index: WAeUP_SRP/trunk/skins/waeup_statistics/getApplicantsStatistics.py
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_statistics/getApplicantsStatistics.py	(revision 3709)
+++ WAeUP_SRP/trunk/skins/waeup_statistics/getApplicantsStatistics.py	(revision 3709)
@@ -0,0 +1,43 @@
+## Script (Python) "getApplicantsStatistics"
+##bind container=container
+##bind context=context
+##bind namespace=
+##bind script=script
+##bind subpath=traverse_subpath
+##parameters=
+##title=
+##
+# $Id: getApplicantsStatistics.py 1277 2007-01-11 21:11:37Z joachim $
+"""
+return Student Statistics
+"""
+
+import logging
+logger = logging.getLogger('Skins.getApplicantsStatistics')
+
+logger.info('%s invoked statistics' % context.portal_membership.getAuthenticatedMember())
+if not context.isStaff():
+    return 'Not allowed'
+
+
+info = {}
+res_submitted_pume = context.applicants_catalog(status = 'submitted', screening_type = 'pume')
+res_submitted_cest = context.applicants_catalog(status = 'submitted', screening_type = 'cest')
+res_submitted_sandwich = context.applicants_catalog(status = 'submitted', screening_type = 'sandwich')
+res_not_admitted = context.applicants_catalog(status = 'not admitted')
+res_submitted_pde = context.applicants_catalog(status = 'submitted', screening_type = 'pde')
+res_admitted = context.applicants_catalog(status = 'admitted')
+res_created = context.applicants_catalog(status = 'created')
+
+info['submitted_pume'] = len(res_submitted_pume)
+info['submitted_cest'] = len(res_submitted_cest)
+info['submitted_sandwich'] = len(res_submitted_sandwich)
+info['admitted'] = len(res_admitted)
+info['not_admitted'] = len(res_not_admitted)
+info['submitted_pde'] = len(res_submitted_pde)
+info['created'] = len(res_created)
+
+return info
+
+
+
Index: WAeUP_SRP/trunk/skins/waeup_statistics/getSimpleStudentStatistics.py
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_statistics/getSimpleStudentStatistics.py	(revision 3709)
+++ WAeUP_SRP/trunk/skins/waeup_statistics/getSimpleStudentStatistics.py	(revision 3709)
@@ -0,0 +1,150 @@
+## Script (Python) "getRetStudentStatistics"
+##bind container=container
+##bind context=context
+##bind namespace=
+##bind script=script
+##bind subpath=traverse_subpath
+##parameters=
+##title=
+##
+# $Id: getStudentStatistics.py 1277 2007-01-11 21:11:37Z joachim $
+"""
+return Student Statistics
+"""
+
+import logging
+logger = logging.getLogger('Skins.getSimpleStudentStatistics')
+
+logger.info('%s invoked statistics' % context.portal_membership.getAuthenticatedMember())
+if not context.isStaff():
+    return
+
+
+catA =      (      'school_fee_paid',
+                   'courses_registered',
+                   'courses_validated',
+                   )
+
+catB =      (      'courses_registered',
+                   'courses_validated',
+                   )
+
+catC =      (      'student_created',
+                   'returning',
+                   'admitted',
+                   'clearance_pin_entered',
+                   'objection_raised',
+                   'clearance_requested',
+                   'cleared_and_validated',
+                   )
+
+current_session = context.getSessionId()[0]
+
+
+full_time =       ('ume_ft','de_ft','ug_ft','pg_ft')
+part_time =       (         'de_pt','ug_pt','pg_pt')
+diploma   =       ('dp_ft','dp_pt')
+
+
+faculties = context.portal_catalog(portal_type="Faculty")
+
+l = []
+
+fac_res = {}
+
+dict = {}
+dict['id'] = 'All Faculties'
+dict['title'] = 'All Faculties'
+
+
+res_ft = context.students_catalog(mode = full_time)
+dict['total_ft'] = len(res_ft)
+
+res_pt = context.students_catalog(mode = part_time)
+dict['total_pt'] = len(res_pt)
+
+res_dp = context.students_catalog(mode = diploma)
+dict['total_dp'] = len(res_dp)
+
+res_Aft = context.students_catalog(review_state = catA, mode = full_time, session = current_session)
+dict['total_Aft'] = len(res_Aft)
+
+res_Apt = context.students_catalog(review_state = catA, mode = part_time, session = current_session)
+dict['total_Apt'] = len(res_Apt)
+
+res_Adp = context.students_catalog(review_state = catA, mode = diploma, session = current_session)
+dict['total_Adp'] = len(res_Adp)
+
+res_Bft = context.students_catalog(review_state = catB, mode = full_time, session = current_session)
+dict['total_Bft'] = len(res_Bft)
+
+res_Bpt = context.students_catalog(review_state = catB, mode = part_time, session = current_session)
+dict['total_Bpt'] = len(res_Bpt)
+
+res_Bdp = context.students_catalog(review_state = catB, mode = diploma, session = current_session)
+dict['total_Bdp'] = len(res_Bpt)
+
+res_Cft = context.students_catalog(review_state = catC, mode = full_time, session = current_session)
+dict['total_Cft'] = len(res_Cft)
+
+res_Cpt = context.students_catalog(review_state = catC, mode = part_time, session = current_session)
+dict['total_Cpt'] = len(res_Cpt)
+
+res_Cdp = context.students_catalog(review_state = catC, mode = diploma, session = current_session)
+dict['total_Cdp'] = len(res_Cdp)
+
+
+res_total = context.students_catalog()
+dict['total_in_catalog'] = len(res_total)
+dict['not_categorized'] = dict['total_in_catalog'] - dict['total_ft'] - dict['total_pt'] - dict['total_dp']
+
+l.append(dict)
+
+
+for f in faculties:
+    dict = {}
+    dict['id'] = f.getId
+    dict['title'] = f.Title
+
+    res_ft = context.students_catalog(faculty = f.getId, mode = full_time)
+    dict['total_ft'] = len(res_ft)
+
+    res_pt = context.students_catalog(faculty = f.getId, mode = part_time)
+    dict['total_pt'] = len(res_pt)
+
+    res_dp = context.students_catalog(faculty = f.getId, mode = diploma)
+    dict['total_dp'] = len(res_dp)
+
+    res_Aft = context.students_catalog(faculty = f.getId, review_state = catA, mode = full_time, session = current_session)
+    dict['total_Aft'] = len(res_Aft)
+
+    res_Apt = context.students_catalog(faculty = f.getId, review_state = catA, mode = part_time, session = current_session)
+    dict['total_Apt'] = len(res_Apt)
+
+    res_Adp = context.students_catalog(faculty = f.getId, review_state = catA, mode = diploma, session = current_session)
+    dict['total_Adp'] = len(res_Adp)
+
+    res_Bft = context.students_catalog(faculty = f.getId, review_state = catB, mode = full_time, session = current_session)
+    dict['total_Bft'] = len(res_Bft)
+
+    res_Bpt = context.students_catalog(faculty = f.getId, review_state = catB, mode = part_time, session = current_session)
+    dict['total_Bpt'] = len(res_Bpt)
+
+    res_Bdp = context.students_catalog(faculty = f.getId, review_state = catB, mode = diploma, session = current_session)
+    dict['total_Bdp'] = len(res_Bpt)
+
+    res_Cft = context.students_catalog(faculty = f.getId, review_state = catC, mode = full_time, session = current_session)
+    dict['total_Cft'] = len(res_Cft)
+
+    res_Cpt = context.students_catalog(faculty = f.getId, review_state = catC, mode = part_time, session = current_session)
+    dict['total_Cpt'] = len(res_Cpt)
+
+    res_Cdp = context.students_catalog(faculty = f.getId, review_state = catC, mode = diploma, session = current_session)
+    dict['total_Cdp'] = len(res_Cdp)
+
+
+    l.append(dict)
+
+return l
+
+
Index: WAeUP_SRP/trunk/skins/waeup_statistics/statistics_simple_view.pt
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_statistics/statistics_simple_view.pt	(revision 3709)
+++ WAeUP_SRP/trunk/skins/waeup_statistics/statistics_simple_view.pt	(revision 3709)
@@ -0,0 +1,136 @@
+<metal:body use-macro="here/main_template/macros/master">
+  <metal:main fill-slot="main">
+  <metal:block tal:define="faculties context/getSimpleStudentStatistics;
+                        mtool here/portal_membership;
+                        member mtool/getAuthenticatedMember;
+                        session_str python:context.getSessionId()[1]">       
+
+      <span tal:condition="not: faculties">
+        <span tal:content="here/illegal_view" />
+      </span>
+      <span tal:condition="faculties">
+  
+      <strong>
+      <nobr><a href="search_students">Search Students</a>
+      &nbsp;&nbsp;&nbsp;&nbsp;</nobr>        
+      <nobr><a href="statistics_new_view">New Student Statistics</a>
+      &nbsp;&nbsp;&nbsp;&nbsp;</nobr>
+      <nobr><a href="statistics_ret_view">Returning Student Statistics</a>
+      &nbsp;&nbsp;&nbsp;&nbsp;</nobr>      
+      </strong>     
+
+      <h3>Basic Student Statistics <span tal:content="session_str" /></h3>
+      <br />      
+      <span tal:condition="not:isAnon">
+      Student records imported: <span tal:content="python: faculties[0]['total_in_catalog']" />
+      <br />  <br />  
+        <table >  
+
+          <tr>
+            <th>&nbsp;</th>
+            
+            <th style="border-style:solid; border-width:1px; border-color:black" align="center" colspan="3">Total</th>
+            
+            <th style="border-style:solid; border-width:1px; border-color:black" align="center" colspan="3">Category A</th>
+
+            <th style="border-style:solid; border-width:1px; border-color:black" align="center" colspan="3">Category B</th>
+
+            <th style="border-style:solid; border-width:1px; border-color:black" align="center" colspan="3">Category C</th>
+
+
+          </tr>
+
+          <tr class="odd ajaxtd">
+            <th >Faculty</th>
+            <th align="right">FT</th>
+            <th align="right">PT</th>
+            <th align="right">DP</th>
+            <th align="right">FT</th>
+            <th align="right">PT</th>
+            <th align="right">DP</th>
+            <th align="right">FT</th>
+            <th align="right">PT</th>
+            <th align="right">DP</th>
+            <th align="right">FT</th>
+            <th align="right">PT</th>
+            <th align="right">DP</th>
+
+          </tr>
+          <tr tal:repeat="d faculties"
+              tal:attributes="class python:test(repeat['d'].even(), 'even ajaxtd', 'odd ajaxtd')">
+              <td width="80px"> <span tal:content="d/id" /> </td>
+
+              <td width="60px" align="right"> 
+                <span tal:content="d/total_ft" />
+              </td>              
+
+              <td width="60px" align="right"> 
+                <span tal:content="d/total_pt" />
+              </td>              
+
+              <td width="60px" align="right"> 
+                <span tal:content="d/total_dp" />
+              </td>                 
+              
+              <td width="60px" align="right"> 
+                <span tal:content="d/total_Aft" />
+              </td>              
+
+              <td width="60px" align="right"> 
+                <span tal:content="d/total_Apt" />
+              </td>              
+
+              <td width="60px" align="right"> 
+                <span tal:content="d/total_Adp" />
+              </td>              
+
+              <td width="60px" align="right"> 
+                <span tal:content="d/total_Bft" />
+              </td>              
+
+              <td width="60px" align="right"> 
+                <span tal:content="d/total_Bpt" />
+              </td>              
+              
+              <td width="60px" align="right"> 
+                <span tal:content="d/total_Bdp" />
+              </td>      
+              
+              <td width="60px" align="right"> 
+                <span tal:content="d/total_Cft" />
+              </td>      
+              
+              <td width="60px" align="right"> 
+                <span tal:content="d/total_Cpt" />
+              </td>      
+              
+              <td width="60px" align="right"> 
+                <span tal:content="d/total_Cdp" />
+              </td>                                                
+
+                                       
+
+          </tr>
+        </table>
+
+        <br />
+        <table   border=0>
+
+        <tr><td>Category A: </td> <td>students who paid their school fee in <span tal:content="session_str" /></td></tr>
+        <tr><td>Category B: </td> <td>students who registered their courses online (A contains B) in <span tal:content="session_str" /></td></tr>
+        <tr><td>Category C: </td> <td>students who 'arrived' in <span tal:content="session_str" /> but have not yet paid their school fee</td></tr>
+        <tr><td>&nbsp;</td><td>&nbsp;</td></tr>
+        <tr><td colspan="2"><strong>Remark:</strong> <span tal:content="python: faculties[0]['not_categorized']" /> returning students have not yet logged in and are thus not categorized.
+             </td>
+        </tr>
+          
+        </table>
+        
+        
+        
+      </span>
+      </span>
+  </metal:block>      
+  </metal:main>
+</metal:body>
+      
