source: WAeUP_SRP/trunk/skins/waeup_default/external_edit.py @ 701

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

open external edit windows in faculty_index_view.pt
and showing [edit] link only if permitted

File size: 1.4 KB
Line 
1##parameters=REQUEST, cluster=None, cpsdocument_edit_and_view_button=None, action=None
2# $Id: cpsdocument_edit.py 33302 2006-02-22 15:57:11Z tziade $
3"""
4Called when a document form is posted.
5
6Validates data, then:
7
8 - if there's no error, updates the object and redirects to it,
9
10 - if there's an error, puts data in session and redirects to edit form.
11
12A form uid is propagated during the redirect to uniquely identify the
13form in the session.
14"""
15
16from urllib import urlencode
17from Products.CPSDocument.utils import getFormUidUrlArg
18
19# Check flexible controls
20context.editLayouts(REQUEST=REQUEST)
21
22# Validate the document and write it if it's valid
23# (We don't call getEditableContent here, validate does it when needed.)
24doc = context.getContent()
25is_valid, ds = doc.validate(request=REQUEST, proxy=context, cluster=cluster,
26                            use_session=True)
27
28if action is None:
29    ti = doc.getTypeInfo()
30    action = ti.queryMethodID('edit', 'external_edit_form')
31    action = '/' + action
32
33if is_valid:
34    comments = REQUEST.get('comments')
35    context.cpsdocument_notify_modification(comments=comments)
36    if cpsdocument_edit_and_view_button is not None:
37        action = ''
38    psm = 'psm_content_changed'
39    args = {}
40else:
41    psm = 'psm_content_error'
42    args = getFormUidUrlArg(REQUEST)
43
44args['portal_status_message'] = psm
45url = context.absolute_url() + action + '?' + urlencode(args)
46REQUEST.RESPONSE.redirect(url)
47
Note: See TracBrowser for help on using the repository browser.