## Script (Python) "reject_courses" ##bind container=container ##bind context=context ##bind namespace= ##bind script=script ##bind subpath=traverse_subpath ##parameters=REQUEST=None, student=None, action_after_reject=None, action_after_validate=None ##title= ## # $Id: getStudyCourseInfo.py 1504 2007-02-26 21:20:40Z henrik $ """ close the Students StudyLevel """ from Products.CMFCore.WorkflowCore import WorkflowException try: from Products.zdb import set_trace except: def set_trace(): pass from urllib import urlencode request = context.REQUEST mtool = context.portal_membership member = mtool.getAuthenticatedMember() member_id = str(member) import logging logger = logging.getLogger('Skins.reject_courses') wftool = context.portal_workflow wftool.doActionFor(context,'open') wftool.doActionFor(context,'close_for_edit') students_folder = context.portal_url.getPortalObject().campus.students student_id = context.getStudentId() student = getattr(students_folder,student_id) try: wftool.doActionFor(student,'reject_courses') except WorkflowException,E: logger.info('%s WorkflowException %s for %s' % (member_id,E,student_id)) return request.RESPONSE.redirect("%s" % context.absolute_url()) logger.info('%s rejected course list of %s' % (member_id,student_id)) args = {} psm = "Student's course list has been rejected! Please fill and submit the form below!" subject = "Course list rejected" args['subject'] = subject args['continue'] = action_after_validate args['portal_status_message'] = psm if action_after_reject: url = context.absolute_url() + '/' + action_after_reject + '?' + urlencode(args) else: url = context.absolute_url() + '?' + urlencode(args) return REQUEST.RESPONSE.redirect(url)