source: WAeUP_SRP/trunk/skins/waeup_student/apply_admission.py @ 486

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

svn -R propset svn:keywords "Id" .
added layout_application_/edit/create/view
and cleaned that up.

  • Property svn:keywords set to Id
File size: 3.1 KB
Line 
1##parameters=REQUEST
2# $Id: apply_admission.py 486 2006-09-06 10:09:39Z joachim $
3"""
4process the Application Form
5return html renderer + psm
6"""
7import DateTime
8current = DateTime.DateTime()
9
10
11type_name = 'StudentApplication'
12ti = context.portal_types[type_name]
13REQUEST.set('type_name',type_name)
14
15validate = REQUEST.has_key("cpsdocument_create_button")
16
17lt = context.portal_layouts
18pr = context.portal_registration
19
20prefix = 'APP'
21res,psm,ds = lt.renderLayout(layout_id= 'student_application_fe',
22                      schema_id= 'student_application',
23                      context=context,
24                      mapping=validate and REQUEST,
25                      ob={'app_ac_prefix': prefix},
26                      layout_mode='create',
27                      formaction = "apply_admission",
28                      submit = "check",
29                      )
30if psm == 'invalid':
31    return context.application_pin_form(rendered = res,
32                                 psm = "Please correct your input.",
33                                 #psm = "psm : #%s#" % (psm,),
34                                 firstlayout = True,
35                                 lastlayout = True,
36                                 ds = ds,
37                                 )
38elif psm == '':
39    return context.application_pin_form(rendered = res,
40                                 psm = None,
41                                 firstlayout = True,
42                                 lastlayout = True,
43                                 ds = ds,
44                                 )
45elif psm == 'valid':
46    jamb_id = ds.get('jamb_reg_no')
47    catalog = context.portal_catalog
48    search = catalog({'meta_type': 'StudentApplication',
49                     'jamb_reg_no': jamb_id
50                     })
51
52    if len(search) < 1:
53        psm = "JAMB record %s not found." % (jamb_id)
54        return context.application_pin_form(rendered = res,
55                                 psm = psm,
56                                 ds = ds,
57                                 )
58application = search[0].getObject()
59student = application.aq_parent
60if context.portal_workflow.getInfoFor(student,'review_state',None) == "created":
61    #student.invokeFactory('StudentClearance','clearance')
62    student.invokeFactory('StudentPersonal','personal')
63    student.content_status_modify(workflow_action="enter_application_pin")
64
65
66apdoc = application.getContent()
67names = apdoc.jamb_lastname.split()
68dp = {}
69if len(names) == 3:
70    dp['firstname'] = names[0].capitalize()
71    dp['middlename'] = names[1].capitalize()
72    dp['lastname'] = names[2].capitalize()
73elif len(names) == 2:
74    dp['firstname'] = names[0].capitalize()
75    dp['lastname'] = names[1].capitalize()
76else:
77    dp['lastname'] = apdoc.jamb_lastname
78dp['sex'] = apdoc.jamb_sex == 'F'
79dp['lga'] = "%s/%s" % (apdoc.jamb_state,apdoc.jamb_lga )
80student.personal.getContent().edit(mapping = dp)
81da = {}
82da['app_ac_prefix'] = prefix
83da['app_ac_batch_no'] = ds.get('app_ac_batch_no')
84da['app_ac_pin'] = ds.get('app_ac_pin')
85da['app_ac_date'] = current
86apdoc.edit(mapping = da)
87# now display the passport form with jamb-data readonly
88return context.REQUEST.RESPONSE.redirect("%s/application_form" % (student.application.absolute_url()))
89return student.application_form()
90
91
Note: See TracBrowser for help on using the repository browser.