source: WAeUP_SRP/branches/joachim-event-branch/skins/waeup_student/start_clearance.py @ 3690

Last change on this file since 3690 was 1596, checked in by joachim, 18 years ago

merged changes from trunk to joachim-event-branch

  • Property svn:keywords set to Id
File size: 3.4 KB
RevLine 
[798]1##parameters=REQUEST
[805]2# $Id: start_clearance.py 1596 2007-03-19 21:45:44Z joachim $
[798]3"""
4request Clearance
5"""
6import DateTime
7current = DateTime.DateTime()
8pr = context.portal_registration
[1016]9import logging
[1596]10logger = logging.getLogger('Skins.start_clearance')
[798]11
[1141]12#type_name = 'Student'
13#ti = context.portal_types[type_name]
14#request.set('type_name',type_name)
[1144]15wf = context.portal_workflow
[1051]16request=REQUEST
17redirect = request.RESPONSE.redirect
[798]18validate = REQUEST.has_key("cpsdocument_create_button")
19lt = context.portal_layouts
[1141]20#pr = context.portal_registration
[798]21
[1141]22info = context.getClearanceInfo()
[1051]23if info is None:
24    member_id = str(context.portal_membership.getAuthenticatedMember())
[1596]25    logger.info('%s tried to start clearance for %s' % (member_id,request.get('PATH_INFO').split('/')[-2]))
[1051]26    return redirect("%s/srp_invalid_access" % context.portal_url())
[1016]27app_doc = info['app_doc']
28review_state = info['review_state']
[1030]29session = REQUEST.SESSION
[798]30res,psm,ds = lt.renderLayout(layout_id='student_clearance',
31                      schema_id= 'student_clearance',
32                      context=context,
33                      mapping=validate and REQUEST,
34                      ob={},
35                      layout_mode='create',
36                      formaction = "start_clearance",
37                      button = "Start",
38                      )
[1016]39if psm == '':
[798]40    return context.clearance_pin_form(rendered = res,
[1016]41                                 psm = None,
[798]42                                 firstlayout = True,
43                                 lastlayout = True,
44                                 ds = ds,
[1141]45                                 info = info,
[798]46                                 )
[1016]47error = False
[1364]48
49##if session.get("clicked",None):
50##    psm = 'Please wait a moment until "Clearance started" turns green, then click on the green link!'
51##    error = True
52##    logger.info('"%s","repeatedly pressed the clearance button"' % (info['id']))
53
54if review_state == "clearance_pin_entered":
[1032]55    psm = "You have already entered a clearance pin!"
[1016]56    error = True
[1596]57    logger.info('%s tried to start clearance though already started' % (info['id']))
[1016]58elif psm == 'invalid':
[1021]59    psm = "Please correct your input!"
[1016]60    error = True
[1596]61    logger.info('%s entered wrong clearance pin' % (info['id']))
[1364]62elif app_doc.passport is None:
63    #psm = "You must upload your passport picture before you can start the registration process!"
64    #error = True
[1596]65    logger.info('%s started clearance without passport picture' % (info['id']))
[1016]66if error:
[798]67    return context.clearance_pin_form(rendered = res,
[1016]68                                 psm = psm,
[798]69                                 firstlayout = True,
70                                 lastlayout = True,
71                                 ds = ds,
[1141]72                                 info = info,
[798]73                                 )
[1030]74session.set("clicked","clicked")
[1016]75pin = str(ds.get('clr_ac_pin'))
[1596]76logger.info('%s started clearance with pin %s' % (info['id'],pin))
[1016]77wf.doActionFor(info['student'],'enter_clearance_pin')
78wf.doActionFor(info['clear'],'open')
79dc = {}
80app_doc = info['app_doc']
81dc['lga_ident'] = app_doc.get('jamb_lga')
[1017]82dc['lga'] = app_doc.get('jamb_state','no state') + ' / ' + app_doc.get('jamb_lga','no lga')
[1027]83dc['clr_ac_pin'] = pin
[1016]84dc['clr_ac_date'] = current
85dc['entry_date'] = current
86dc['entry_session'] = "2006/2007"
87wf.doActionFor(info['app'],'close')
88info['clear_doc'].edit(mapping = dc)
[1148]89
90if info['penalty']:
[1596]91    logger.info('%s started late clearance' % (info['id']))
[1148]92
[798]93return redirect("%s/clearance_edit_form" % info['clear'].absolute_url())
[1364]94
Note: See TracBrowser for help on using the repository browser.