Ignore:
Timestamp:
7 Dec 2006, 18:18:28 (18 years ago)
Author:
joachim
Message:

student_search fixed for ClearanceOfficers?
getStudentInfo checks for access to not owned Student-Ids and logs them.
search Pins shows all used PIN's

File:
1 edited

Legend:

Unmodified
Added
Removed
  • WAeUP_SRP/trunk/skins/waeup_custom/logged_in.py

    r1004 r1006  
    4848member = mtool.getAuthenticatedMember()
    4949
    50 if not is_anon:
    51     if "Student" in member.getRoles():
    52         to_waeup_student_home = True
    53         students = context.portal_url.getPortalObject().campus.students
    54         student = getattr(students,str(member))
    55         student_app = getattr(student,'application')
    56         student_pume = getattr(student,'pume',None)
    57         s_review_state = wftool.getInfoFor(student,'review_state',None)
    58         a_review_state = wftool.getInfoFor(student_app,'review_state',None)
    59         logger.info('%s review_state %s' % (member,s_review_state))
    60         app_doc = student_app.getContent()
    61         #from Products.zdb import set_trace
    62         #set_trace()
    63         if s_review_state in ("student_created","admitted") and\
    64         a_review_state == 'created' :
    65             wftool.doActionFor(student_app,'open')
    66             if student_pume is not None:
    67               wftool.doActionFor(student_pume,'close')
    68             da = {}
    69             pin = request.get('pin')
    70             if not pin:
     50if redirect_url.endswith('/logged_out'):
     51    redirect_to_portal = True   
     52else:
     53    if not is_anon:
     54        if "Student" in member.getRoles():
     55            to_waeup_student_home = True
     56            students = context.portal_url.getPortalObject().campus.students
     57            student = getattr(students,str(member))
     58            student_app = getattr(student,'application')
     59            student_pume = getattr(student,'pume',None)
     60            s_review_state = wftool.getInfoFor(student,'review_state',None)
     61            a_review_state = wftool.getInfoFor(student_app,'review_state',None)
     62            logger.info('%s review_state %s' % (member,s_review_state))
     63            app_doc = student_app.getContent()
     64            #from Products.zdb import set_trace
     65            #set_trace()
     66            if s_review_state in ("student_created","admitted") and\
     67            a_review_state == 'created' :
     68                wftool.doActionFor(student_app,'open')
     69                if student_pume is not None:
     70                  wftool.doActionFor(student_pume,'close')
     71                da = {}
     72                pin = request.get('pin')
     73                if not pin:
     74                    jamb_reg_no = app_doc.jamb_reg_no
     75                    for reg_no in (jamb_reg_no,jamb_reg_no.lower(),jamb_reg_no.upper()):
     76                        res = context.portal_pins(student=reg_no)
     77                        if len(res) > 0:
     78                            break
     79                    if len(res) > 0:
     80                        p = res[0].pin
     81                        if len(p) > 10:
     82                            pin = "%s-%s-%s" % (p[:3],p[3:4],p[4:])
     83                        else:
     84                            pin = p
     85                da['app_ac_pin'] = pin
     86                da['app_ac_date'] = current
     87                app_doc.edit(mapping = da)
     88            elif s_review_state in ("admitted") and a_review_state == 'opened' and\
     89            not app_doc.app_ac_pin:
    7190                jamb_reg_no = app_doc.jamb_reg_no
    7291                for reg_no in (jamb_reg_no,jamb_reg_no.lower(),jamb_reg_no.upper()):
     
    8099                    else:
    81100                        pin = p
    82             da['app_ac_pin'] = pin
    83             da['app_ac_date'] = current
    84             app_doc.edit(mapping = da)
    85         elif s_review_state in ("admitted") and a_review_state == 'opened' and\
    86         not app_doc.app_ac_pin:
    87             jamb_reg_no = app_doc.jamb_reg_no
    88             for reg_no in (jamb_reg_no,jamb_reg_no.lower(),jamb_reg_no.upper()):
    89                 res = context.portal_pins(student=reg_no)
    90                 if len(res) > 0:
    91                     break
    92             if len(res) > 0:
    93                 p = res[0].pin
    94                 if len(p) > 10:
    95                     pin = "%s-%s-%s" % (p[:3],p[3:4],p[4:])
    96                 else:
    97                     pin = p
    98                 da = {}
    99                 da['app_ac_pin'] = pin
    100                 app_doc.edit(mapping = da)
    101     elif "Manager" in member.getRoles():
    102         pass
    103     else:
    104         to_member_home, to_workspaces = checkRedirect(portal, mtool)
     101                    da = {}
     102                    da['app_ac_pin'] = pin
     103                    app_doc.edit(mapping = da)
     104        elif "Manager" in member.getRoles():
     105            pass
     106        else:
     107            to_member_home, to_workspaces = checkRedirect(portal, mtool)
    105108if (not to_member_home) and (not to_workspaces):
    106109    redirect_to_portal = True
Note: See TracChangeset for help on using the changeset viewer.