source: WAeUP_SRP/trunk/skins/waeup_student/start_clearance.py @ 1171

Last change on this file since 1171 was 1148, checked in by Henrik Bettermann, 18 years ago

logger message for late clearance added

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