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

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

open if closed NOT in custom, Henrik please test first

File size: 1.7 KB
RevLine 
[1571]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
[1853]7##parameters=ids=[], REQUEST=None, action_after_reject=None, action_after_validate=''
[1571]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
[1613]16from AccessControl import Unauthorized
17
[1571]18here = context
[1590]19from urllib import urlencode
[1571]20import logging
21logger = logging.getLogger('Skins.delete_course_result')
22mtool = context.portal_membership
[1865]23wf = context.portal_workflow
[1571]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)
[1865]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')
[1571]38    if real_ids:
[1613]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'
[1571]46else:
[1591]47    message = 'psm_select_at_least_one_document'
[1600]48
[1591]49args = {}
[1590]50args['portal_status_message'] = message
[1606]51
52if action_after_validate:
53    url = context.absolute_url() + '/' + action_after_validate + '?' + urlencode(args)
54else:
55    url = context.absolute_url() + '?' + urlencode(args)
[1571]56if REQUEST is not None:
[1600]57    return REQUEST.RESPONSE.redirect(url)
Note: See TracBrowser for help on using the repository browser.