source: WAeUP_SRP/trunk/skins/waeup_student/register_courses.py @ 2047

Last change on this file since 2047 was 2032, checked in by Henrik Bettermann, 17 years ago

allow submission even if level object is already closed

File size: 1.7 KB
Line 
1## Script (Python) "register_courses"
2##bind container=container
3##bind context=context
4##bind namespace=
5##bind script=script
6##bind subpath=traverse_subpath
7##parameters=REQUEST=None, student=None, action_after_reject=None, action_after_validate=None
8##title=
9##
10# $Id: getStudyCourseInfo.py 1504 2007-02-26 21:20:40Z henrik $
11"""
12close the Students StudyLevel
13"""
14from Products.CMFCore.WorkflowCore import WorkflowException
15try:
16    from Products.zdb import set_trace
17except:
18    def set_trace():
19        pass
20
21from urllib import urlencode
22
23request = context.REQUEST
24mtool = context.portal_membership
25member = mtool.getAuthenticatedMember()
26member_id = str(member)
27import logging
28logger = logging.getLogger('Skins.register_courses')
29
30wftool = context.portal_workflow
31students_folder = context.portal_url.getPortalObject().campus.students
32student_id = context.getStudentId()
33student = getattr(students_folder,student_id)
34try:
35    wftool.doActionFor(context,'close')
36except WorkflowException,E:
37    #logger.info('%s WorkflowException %s for %s' % (member_id,E,student_id))
38    #return request.RESPONSE.redirect("%s" % context.absolute_url())
39    pass
40try:
41    wftool.doActionFor(student,'register_courses')
42except WorkflowException,E:
43    logger.info('%s WorkflowException %s for %s' % (member_id,E,student_id))
44    return request.RESPONSE.redirect("%s" % context.absolute_url())
45logger.info('%s registered course list of %s' % (member_id,student_id))
46
47args = {}
48psm = "You successfully submitted your course list!"
49args['portal_status_message'] = psm
50if action_after_validate:
51    url = context.absolute_url() + '/' + action_after_validate + '?' + urlencode(args)
52else:
53    url = context.absolute_url() + '?' + urlencode(args)
54return REQUEST.RESPONSE.redirect(url)
Note: See TracBrowser for help on using the repository browser.