source: products/qPloneComments/branches/plone-2.1/skins/qplonecomments/validate_talkback.vpy @ 205

Last change on this file since 205 was 1, checked in by myroslav, 19 years ago

Building directory structure

File size: 1.3 KB
Line 
1## Controller Script Python "validate_talkback"
2##bind container=container
3##bind context=context
4##bind namespace=
5##bind script=script
6##bind state=state
7##bind subpath=traverse_subpath
8##parameters=subject='',body_text=''
9##title=validates a discussion entry
10##
11from Products.CMFCore.utils import getToolByName
12
13dtool = context.portal_discussion
14try:
15    content = context.parentsInThread()[0]
16except AttributeError:
17    content = context
18if not dtool.isDiscussionAllowedFor(content):
19    raise Exception, "Discussion not allowed."
20
21if not subject:
22    state.setError('subject', 'Please submit a subject.', 'subject_required')
23
24if not body_text:
25    state.setError('body_text', 'Please submit a body.', 'body_required')
26
27pp = getToolByName(context, 'portal_properties')
28isForAnonymous = pp['qPloneComments'].getProperty('enable_anonymous_commenting', None)
29if isForAnonymous:
30    pm = getToolByName(context, 'portal_membership')
31    isAnonym = pm.isAnonymousUser()
32    if isAnonym:
33        req = context.REQUEST
34        if not (req.form.has_key('Creator') and not req.form['Creator'] == ""):
35            state.setError('Creator', 'Please enter your Name.', 'name_required')
36
37if state.getErrors():
38    return state.set(status='failure', portal_status_message='Please correct the indicated errors.')
39else:
40    return state
Note: See TracBrowser for help on using the repository browser.