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

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

pin layout cancelled

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