source: WAeUP_SRP/trunk/skins/waeup_student/searchStudents.py @ 582

Last change on this file since 582 was 572, checked in by joachim, 18 years ago

search for students ready for testing, update waeup_student_wf first

File size: 2.0 KB
Line 
1## Script (Python) "cpsdocument_edit"
2##bind container=container
3##bind context=context
4##bind namespace=
5##bind script=script
6##bind subpath=traverse_subpath
7##parameters=student=None
8##title=
9##
10# $Id: student_edit.py 486 2006-09-06 10:09:39Z joachim $
11"""
12return Info about the current Student
13"""
14request = context.REQUEST
15form = request.form
16fget = form.get
17info = {}
18wf = context.portal_workflow
19catalog = context.portal_catalog
20student_wf_states = wf.waeup_student_wf.states.keys()
21info['wf_states'] = student_wf_states
22info['wf_states'][0] = " ----- "
23
24mtool = context.portal_membership
25member = mtool.getAuthenticatedMember()
26path_info = request.get('PATH_INFO').split('/')
27roles = member.getRoles()
28info['is_manager'] = 'Manager' in roles or 'SectionManager' in roles
29student_id = fget('student_id')
30jamb_id = fget('jamb_id')
31matric_no = fget('matric_no')
32name = fget('name')
33state = fget('state')
34if state == " ----- ":
35    state = ''
36onlyreview = state and not (student_id or jamb_id or matric_no or name)
37items = []
38res = []
39portal_type_query = {'query':['Student','StudentApplication','StudentPersonal']}
40if onlyreview:
41    res = catalog(portal_type=portal_type_query,
42                  review_state=state)
43elif student_id:
44    res = catalog(portal_type='Student',
45                  id = student_id.strip())
46elif jamb_id:
47    res = catalog(portal_type='StudentApplication',
48                  SearchableText="%s*" % jamb_id.strip().lower())
49elif matric_no:
50    res = catalog(portal_type='StudentClearance',
51                  SearchableText="%s*" % matric_no.strip().lower())
52elif name:
53    res = catalog(portal_type=portal_type_query,
54                  SearchableText="%s*" % name.strip())
55if res:
56    for r in res:
57        row = {}
58        if r.portal_type in ("StudentApplication","StudentPersonal"):
59            items.append(r.getObject().aq_parent)
60        else:
61            items.append(r.getObject())
62info['state'] = state
63info['student_id'] = student_id
64info['jamb_id'] = jamb_id
65info['matric_no'] = matric_no
66info['name'] = name
67
68info['students'] = items
69return info
Note: See TracBrowser for help on using the repository browser.