source: WAeUP_SRP/trunk/skins/waeup_uniben/application_edit.py @ 17328

Last change on this file since 17328 was 7936, checked in by Henrik Bettermann, 13 years ago

Customization finished.

  • Property svn:keywords set to Id
File size: 2.4 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 7936 2012-03-21 13:59:20Z 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['app_doc'].app_email:   # customized for Uniben
32    logger.info('%s proceeded to start clearance' % (info['id']))
33    #personal_doc = student.personal.getContent()
34    #try:
35    #    wftool.doActionFor(student.personal,'open')
36    #except:
37    #    pass
38    #personal_doc.edit(mapping = {'email' : info['app_doc'].app_email})
39    #wftool.doActionFor(student.personal,'close')
40    action = "/start_clearance"
41    base_url = student.absolute_url()
42    url = base_url + action
43    return REQUEST.RESPONSE.redirect(url)
44elif not cpsdocument_edit_and_view_button:
45    action = "/application_edit_form"
46    base_url = student.absolute_url()
47    #url = base_url + action
48    if portal_status_message:
49        args['portal_status_message'] = portal_status_message
50        url = base_url + action + '?' + urlencode(args)
51    else:
52        url = base_url + action
53    return REQUEST.RESPONSE.redirect(url)
54
55
56
57app = info['app']
58app_doc = info['app_doc']
59state = info['review_state']
60
61app_review_state = wftool.getInfoFor(app,'review_state',None)
62if app_review_state != 'opened':
63    wftool.doActionFor(app,'open')
64
65is_valid, ds = app_doc.validate(request=REQUEST,
66                                schema_id = 'student_application',
67                                layout_id = 'student_application',
68                                proxy=app,
69                                use_session=False)
70
71
72action = "/application_edit"
73base_url = app.absolute_url()
74
75if is_valid:
76    args['portal_status_message'] = "You didn't upload all required data!"
77
78else:
79    args['portal_status_message'] = "Please correct your error!"
80
81url = base_url + action + '?' + urlencode(args)
82
83
84 
85return REQUEST.RESPONSE.redirect(url)
Note: See TracBrowser for help on using the repository browser.