source: WAeUP_SRP/trunk/skins/waeup_student/application_edit.py @ 3814

Last change on this file since 3814 was 3749, checked in by Henrik Bettermann, 16 years ago

fix AAUA #7

  • Property svn:keywords set to Id
File size: 2.2 KB
Line 
1## Script (Python) "application_edit"
2##bind container=container
3##bind context=context
4##bind namespace=
5##bind script=script
6##bind subpath=traverse_subpath
7##parameters=REQUEST, cpsdocument_edit_and_view_button=None, action=None, portal_status_message=''
8##title=
9# $Id: application_edit.py 3749 2008-11-03 09:45:05Z henrik $
10"""
11"""
12wftool = context.portal_workflow
13from urllib import urlencode
14from Products.CPSDocument.utils import getFormUidUrlArg
15import DateTime
16current = DateTime.DateTime()
17import logging
18logger = logging.getLogger('Skins.application_edit')
19
20psm = ""
21args = {}
22
23info = context.getApplicationInfo()
24
25student = info['student']
26
27if info is None:
28    logger.info('Anonymous user tried to access %s' % REQUEST.get('URL0'))
29    return REQUEST.RESPONSE.redirect("%s/srp_anonymous_view" % context.portal_url())
30
31if info['has_passport'] and info['app_doc'].app_email:
32    logger.info('%s proceeded to start clearance' % (info['id']))
33    action = "/start_clearance"
34    base_url = student.absolute_url()
35    url = base_url + action
36    return REQUEST.RESPONSE.redirect(url)
37elif not cpsdocument_edit_and_view_button:
38    action = "/application_edit_form"
39    base_url = student.absolute_url()
40    #url = base_url + action
41    if portal_status_message:
42        args['portal_status_message'] = portal_status_message
43        url = base_url + action + '?' + urlencode(args)
44    else:
45        url = base_url + action
46    return REQUEST.RESPONSE.redirect(url)
47
48
49
50app = info['app']
51app_doc = info['app_doc']
52state = info['review_state']
53
54app_review_state = wftool.getInfoFor(app,'review_state',None)
55if app_review_state != 'opened':
56    wftool.doActionFor(app,'open')
57
58is_valid, ds = app_doc.validate(request=REQUEST,
59                                schema_id = 'student_application',
60                                layout_id = 'student_application',
61                                proxy=app,
62                                use_session=False)
63
64
65action = "/application_edit"
66base_url = app.absolute_url()
67
68if is_valid:
69    args['portal_status_message'] = "You didn't upload all required data!"
70
71else:
72    args['portal_status_message'] = "Please correct your error!"
73
74url = base_url + action + '?' + urlencode(args)
75
76
77 
78return REQUEST.RESPONSE.redirect(url)
Note: See TracBrowser for help on using the repository browser.