source: WAeUP_SRP/branches/uli/skins/waeup_student/set_access_data.py @ 1653

Last change on this file since 1653 was 1593, checked in by uli, 18 years ago

Merged current trunk into uli-branch.

  • Property svn:keywords set to Id
File size: 2.9 KB
Line 
1##parameters=REQUEST,matric_no=None
2# $Id: set_access_data.py 1593 2007-03-19 18:57:54Z uli $
3"""
4process the Application Form
5return html renderer + psm
6"""
7import DateTime,logging
8current = DateTime.DateTime()
9pr = context.portal_registration
10logger = logging.getLogger('Skins.set_access_data')
11validate = REQUEST.has_key("cpsdocument_edit_button")
12
13if matric_no is None:
14    logger.info('No matric_no in request')
15    return REQUEST.RESPONSE.redirect("%s" % context.portal_url())
16lt = context.portal_layouts
17#pr = context.portal_registration
18default = {'matric_no':matric_no}
19st_res = context.students_catalog(matric_no = matric_no)
20if st_res:
21    sid = st_res[0].id
22else:
23    logger.info('Student object with matric_no does not exist' % matric_no)
24res,psm,ds = lt.renderLayout(layout_id= 'student_session_results_search',
25                      schema_id= 'student_returning',
26                      context=context,
27                      mapping=validate and REQUEST,
28                      ob=default,
29                      layout_mode='edit',
30                      formaction = "set_access_data",
31                      button = "Search",
32                      matric_no = matric_no,
33                      commit = False,
34                      )
35if psm == '':
36    return context.set_access_data_form(rendered = res,
37                                 psm = None,
38                                 firstlayout = True,
39                                 lastlayout = True,
40                                 ds = ds,
41                                 name = "%(name)s" % REQUEST.form
42                                 )
43elif psm == 'invalid':
44    psm = "Please correct your input!"
45elif psm == 'valid' and not REQUEST.form.has_key('acknowledge'):
46    psm = "You did not check the ackkowledge box!"
47else:
48    password = REQUEST.get('widget__password')
49    try:
50        context.waeup_tool.makeStudentMember(sid,password=password)
51        psm = ''
52    except KeyError:
53        #psm = "You are already registered please log in with your UserId %s" % sid
54        psm = ""
55        logger.info('%s repeatedly tried to set password' % sid)
56    except:
57        psm = "The system encountered an error. Please try again."
58        logger.info('%s, makeStudentMember error, password = %s' % (sid,password))
59if psm != '':
60    return context.set_access_data_form(rendered = res,
61                                 #psm = "%s, %s" % (psm,ds),
62                                 psm = psm,
63                                 firstlayout = True,
64                                 lastlayout = True,
65                                 ds = ds,
66                                 name = "%(name)s" % REQUEST.form
67                                 )
68email = ds.get('email')
69args = {}
70args['__ac_name'] = sid
71args['__ac_password'] = password
72args['returning'] = '1'
73args['email'] = email
74args['phone_nr'] = ds.get('phone_nr')
75from urllib import urlencode
76url = "%s/logged_in?%s" % (context.absolute_url(),urlencode(args))
77return REQUEST.RESPONSE.redirect(url)
Note: See TracBrowser for help on using the repository browser.