- Timestamp:
- 19 Mar 2007, 18:57:54 (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
WAeUP_SRP/branches/uli/skins/waeup_student/search_students.py
r1500 r1593 13 13 """ 14 14 import logging 15 logger = logging.getLogger('S earch.Timer')15 logger = logging.getLogger('Skins.search_students') 16 16 from DateTime import DateTime 17 17 # … … 61 61 user_info['faculties'] = [] 62 62 co_view = False 63 ca_view = False 63 64 faculties = fget('faculties') 64 65 departments = fget('departments') 65 dep_str = fac_str = '' 66 certificate_level = fget('certificate_level') 67 dep_str = fac_str = certificate_level_str = '' 66 68 if "ClearanceOfficers" in member.getGroups(): 67 69 state = "clearance_requested" … … 80 82 In('localUsersWithRoles', ("user:%s" % member,)) 81 83 res = evalAdvancedQuery(query) 84 logger.info('ClearanceOfficer %s initiated student_search' % member) 82 85 faculties = [] 83 86 if res: … … 93 96 user_info['departments'] = departments 94 97 dep_str = " ".join(departments) 98 elif "CourseAdvisers" in member.getGroups(): 99 state = "courses_registered" 100 only_review = False 101 ca_view = True 102 if certificate_level: 103 #from Products.zdb import set_trace;set_trace() 104 certificate_level_str = certificate_level 105 certificate_level = certificate_level.split() 106 else: 107 query = In('portal_type',('StudyLevel',)) &\ 108 In('localUsersWithRoles', ("user:%s" % member,)) 109 res = evalAdvancedQuery(query) 110 logger.info('CourseAdviser %s initiated student_search' % member) 111 certificate_level = [] 112 if res: 113 certificate_level = ['/'.join(f.getPath().split('/')[-2:]) for f in res] 114 user_info['certificate_level'] = certificate_level 115 certificate_level_str = " ".join(certificate_level) 95 116 default = {'search_mode': 'student_id', 96 117 'review_state': state, … … 106 127 faculties = fac_str, 107 128 departments = dep_str, 129 certificate_level = certificate_level_str, 108 130 commit = False, 109 131 ) … … 148 170 students_folder = context.portal_url.getPortalObject().campus.students 149 171 if hasattr(students_folder,term.strip()): 172 logger.info('%s searches for student with id %s' % (member,term)) 150 173 request.RESPONSE.redirect("%s/%s" % (students_folder.absolute_url(),term)) 151 174 return context.search_students_form(rendered = rend, … … 156 179 elif what == "department": 157 180 res = context.students_catalog(department=term.strip()) 181 logger.info('%s searches for student in department %s' % (member,term)) 158 182 search_set = [r.id for r in res] 159 183 elif what == "matric_no": 160 184 res = context.students_catalog(matric_no=term.strip()) 185 logger.info('%s searches for student with matric_no %s' % (member,term)) 161 186 search_set = [r.id for r in res] 162 187 elif what == "jamb_reg_no": … … 164 189 st_u = "%s" % term.strip().upper() 165 190 res = aq_students(In('jamb_reg_no',(st_l,st_u))) 191 logger.info('%s searches for student with jamb_reg_no %s' % (member,term)) 166 192 search_set = [r.id for r in res] 167 193 elif what == "name": 168 194 pt = ('StudentPersonal') 169 195 query = In('portal_type',pt) & Eq('SearchableText',"%s*" % term.strip()) 196 logger.info('%s searches for student with name %s' % (member,term)) 170 197 res = evalAdvancedQuery(query) 171 198 if res: … … 181 208 query = Eq('review_state',state) 182 209 review_res = evalAdvancedQuery(query) 210 211 logger.info('%s searches for students in review_state %s' % (member,state)) 212 183 213 if with_timer: 184 214 end = DateTime().timeTime() … … 196 226 logger.info('"%s","searchtime","%6.2f"' % (member,end-start)) 197 227 start = DateTime().timeTime() 228 search_set = [r.id for r in res] 229 if with_timer: 230 end = DateTime().timeTime() 231 logger.info('"%s","searchtime","%6.2f"' % (member,end-start)) 232 elif ca_view: 233 only_review = False 234 with_review = True 235 if with_timer: 236 start = DateTime().timeTime() 237 logger.info('"%s","start 200"' % member) 238 courses = [cl.split('/')[0] for cl in certificate_level] 239 levels = [cl.split('/')[1] for cl in certificate_level] 240 query = In('course',courses) & In('level',levels) 241 res = aq_students(query) 242 if with_timer: 243 end = DateTime().timeTime() 244 logger.info('"%s","searchtime","%6.2f"' % (member,end-start)) 245 start = DateTime().timeTime() 198 246 search_set = [r.id for r in res] 199 247 if with_timer: … … 250 298 allowed = allowed, 251 299 co_view = co_view, 300 ca_view = ca_view 252 301 ) 253 302 return context.search_students_form(rendered = rend,
Note: See TracChangeset for help on using the changeset viewer.