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

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

made Widgets.py from Widgets_neu.py
corrected a syntax-error in Widgets.py
added some doubleclick error-checking in start_clearance (checked into Custom)
catch ConflictError? in PinTable?.
clearance_edit_form modified to catch anonymous access.
search_students.py + students_index.py actually unchanged.

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