Ignore:
Timestamp:
19 Mar 2007, 18:57:54 (18 years ago)
Author:
uli
Message:

Merged current trunk into uli-branch.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • WAeUP_SRP/branches/uli/skins/waeup_student/search_students.py

    r1500 r1593  
    1313"""
    1414import logging
    15 logger = logging.getLogger('Search.Timer')
     15logger = logging.getLogger('Skins.search_students')
    1616from DateTime import DateTime
    1717#
     
    6161user_info['faculties'] = []
    6262co_view = False
     63ca_view = False
    6364faculties =  fget('faculties')
    6465departments = fget('departments')
    65 dep_str = fac_str = ''
     66certificate_level = fget('certificate_level')
     67dep_str = fac_str = certificate_level_str = ''
    6668if "ClearanceOfficers" in member.getGroups():
    6769    state = "clearance_requested"
     
    8082                 In('localUsersWithRoles', ("user:%s" % member,))
    8183        res = evalAdvancedQuery(query)
     84        logger.info('ClearanceOfficer %s initiated student_search' % member)
    8285        faculties = []
    8386        if res:
     
    9396        user_info['departments'] = departments
    9497        dep_str = " ".join(departments)
     98elif "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)
    95116default = {'search_mode': 'student_id',
    96117        'review_state': state,
     
    106127                      faculties = fac_str,
    107128                      departments = dep_str,
     129                      certificate_level = certificate_level_str,
    108130                      commit = False,
    109131                      )
     
    148170        students_folder = context.portal_url.getPortalObject().campus.students
    149171        if hasattr(students_folder,term.strip()):
     172            logger.info('%s searches for student with id %s' % (member,term))
    150173            request.RESPONSE.redirect("%s/%s" % (students_folder.absolute_url(),term))
    151174        return context.search_students_form(rendered = rend,
     
    156179    elif what == "department":
    157180        res = context.students_catalog(department=term.strip())
     181        logger.info('%s searches for student in department %s' % (member,term))
    158182        search_set = [r.id for r in res]
    159183    elif what == "matric_no":
    160184        res = context.students_catalog(matric_no=term.strip())
     185        logger.info('%s searches for student with matric_no %s' % (member,term))
    161186        search_set = [r.id for r in res]
    162187    elif what == "jamb_reg_no":
     
    164189        st_u = "%s" % term.strip().upper()
    165190        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))
    166192        search_set = [r.id for r in res]
    167193    elif what == "name":
    168194        pt = ('StudentPersonal')
    169195        query = In('portal_type',pt) & Eq('SearchableText',"%s*" % term.strip())
     196        logger.info('%s searches for student with name %s' % (member,term))
    170197        res = evalAdvancedQuery(query)
    171198        if res:
     
    181208    query = Eq('review_state',state)
    182209    review_res = evalAdvancedQuery(query)
     210
     211    logger.info('%s searches for students in review_state %s' % (member,state))
     212
    183213    if with_timer:
    184214        end = DateTime().timeTime()
     
    196226        logger.info('"%s","searchtime","%6.2f"' % (member,end-start))
    197227    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))
     232elif 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()
    198246    search_set = [r.id for r in res]
    199247    if with_timer:
     
    250298                             allowed = allowed,
    251299                             co_view = co_view,
     300                             ca_view = ca_view
    252301                             )
    253302return context.search_students_form(rendered = rend,
Note: See TracChangeset for help on using the changeset viewer.