source: WAeUP_SRP/trunk/skins/waeup_student/delete_course_result.py @ 2105

Last change on this file since 2105 was 1865, checked in by joachim, 17 years ago

open if closed NOT in custom, Henrik please test first

File size: 1.7 KB
Line 
1## Script (Python) "delete_course_result"
2##bind container=container
3##bind context=context
4##bind namespace=
5##bind script=script
6##bind subpath=traverse_subpath
7##parameters=ids=[], REQUEST=None, action_after_reject=None, action_after_validate=''
8##title=
9##
10# $Id: delete_course_result.py 1557 2007-03-15 16:00:27Z joachim $
11"""
12FIXME: add docstring.
13"""
14
15from Products.CMFCore.utils import getToolByName
16from AccessControl import Unauthorized
17
18here = context
19from urllib import urlencode
20import logging
21logger = logging.getLogger('Skins.delete_course_result')
22mtool = context.portal_membership
23wf = context.portal_workflow
24member = mtool.getAuthenticatedMember()
25
26ret_url = here.absolute_url()
27
28message = ''
29if ids:
30    real_ids = []
31    for id in ids:
32        if context.hasObject(id):
33            real_ids.append(id)
34    for cr_id in real_ids:
35        cr = getattr(context,cr_id)
36        if wf.getInfoFor(cr,'review_state',None) == "closed":
37            context.portal_workflow.doActionFor(cr,'open')
38    if real_ids:
39        try:
40            context.manage_delObjects(real_ids)
41            logger.info('%s deleted StudentCourseResult object %s for %s' % (member,id,context.getStudentId()))
42            message = 'psm_item(s)_deleted'
43        except Unauthorized:
44            logger.info('%s has no permission to delete StudentCourseResult objects for %s' % (member,context.getStudentId()))
45            message = 'no item(s) deleted'
46else:
47    message = 'psm_select_at_least_one_document'
48
49args = {}
50args['portal_status_message'] = message
51
52if action_after_validate:
53    url = context.absolute_url() + '/' + action_after_validate + '?' + urlencode(args)
54else:
55    url = context.absolute_url() + '?' + urlencode(args)
56if REQUEST is not None:
57    return REQUEST.RESPONSE.redirect(url)
Note: See TracBrowser for help on using the repository browser.