source: WAeUP_SRP/trunk/skins/waeup_student/apply_admission_manage.py @ 13676

Last change on this file since 13676 was 5506, checked in by Henrik Bettermann, 14 years ago

logged_in.py: do not fill app_mobile after first_time_login

apply_admission_manage.py: hand over reg_no after psm == 'invalid'

clean application_edit_form.pt

File size: 4.0 KB
Line 
1## Script (Python) "apply_admission_manage"
2##bind container=container
3##bind context=context
4##bind namespace=
5##bind script=script
6##bind subpath=traverse_subpath
7##parameters=REQUEST
8##title=
9##
10# $Id: apply_admission_manage.py 2225 2007-09-12 21:04:51Z henrik $
11"""
12search for  Pume Applications
13"""
14
15try:
16    from Products.zdb import set_trace
17except:
18    def set_trace():
19        pass
20
21import DateTime
22import logging
23logger = logging.getLogger('Skins.apply_admission_manage')
24mtool = context.portal_membership
25member = mtool.getAuthenticatedMember()
26
27current = DateTime.DateTime()
28pr = context.portal_registration
29request = REQUEST
30
31
32if not context.isSectionOfficer():
33    return request.RESPONSE.redirect("%s/srp_anonymous_view" % context.absolute_url())
34
35#type_name = 'StudentApplication'
36#ti = context.portal_types[type_name]
37#REQUEST.set('type_name',type_name)
38
39search = "search" in request.keys()
40reset = "reset" in request.keys()
41edit = "edit" in request.keys()
42lt = context.portal_layouts
43
44reg_no = request.get('reg_no','').upper()
45new_reg_no = request.get('new_reg_no','').upper()
46
47if reset or edit:
48    reg_no = reg_no
49elif new_reg_no:
50    reg_no = new_reg_no
51
52res = ''
53psm = ''
54object = {}
55ds = []
56found = False
57
58validate = not search
59
60if reg_no:
61    brains = context.applicants_catalog(reg_no = reg_no)
62
63    if len(brains) == 1:
64        found = True
65        for field in context.applicants_catalog.schema():
66            object[field] = getattr(brains[0],field,None)
67        res,psm,ds = lt.renderLayout(layout_id= 'application_manage',
68                                     schema_id= 'import_application',
69                                     layout_mode = "edit",
70                                     context=context,
71                                     mapping=validate and REQUEST,
72                                     ob=object,
73                                     commit = False,
74                                    )
75
76
77if psm == 'invalid':
78    return context.apply_admission_manage_form(rendered = res,
79                                   psm = "Please correct your input!",
80                                   reg_no = reg_no,
81                                   #psm = "%s, %s" % (psm,ds),
82                                   ds = ds,
83                                  )
84elif psm == '':
85    if search and not found:
86        psm = 'Registration Number not found!'
87    return context.apply_admission_manage_form(rendered = res,
88                                   psm = psm,
89                                   reg_no = reg_no,
90                                   ds = ds,
91                                  )
92elif psm == 'valid':
93    psm = ''
94    pass
95
96data = {}
97dm = ds.getDataModel()
98for field in context.applicants_catalog.schema():
99    if dm.has_key("%s" % field):
100        data[field] = dm.get(field)
101
102
103if reset and reg_no:
104    #data['reg_no'] = reg_no
105    psm = "You successfully reset the record! The applicant will be able to edit and resubmit the data."
106    data['status'] = "reset"
107    context.applicants_catalog.modifyRecord(**data)
108    logger.info('%s reset application record of %s' % (member,reg_no))
109
110if edit and reg_no:
111    #data['reg_no'] = reg_no
112    psm = "Content changed!"
113    context.applicants_catalog.modifyRecord(**data)
114    logger.info('%s edited application record of %s' % (member,reg_no))
115
116
117brains = context.applicants_catalog(reg_no = reg_no)
118for field in context.applicants_catalog.schema():
119    object[field] = getattr(brains[0],field,None)
120
121res,psm_dummy,ds = lt.renderLayout(layout_id= 'application_manage',
122                             schema_id= 'import_application',
123                             layout_mode = "edit",
124                             context=context,
125                             ob=object,
126                             commit = False,
127                            )
128
129
130return context.apply_admission_manage_form(rendered = res,
131                                      psm = psm,
132                                      reg_no = reg_no,
133                                      ds = ds
134                                     )
135
136
Note: See TracBrowser for help on using the repository browser.