## Script (Python) "course_edit"
##bind container=container
##bind context=context
##bind namespace=
##bind script=script
##bind subpath=traverse_subpath
##parameters=REQUEST, cpsdocument_edit_button=None, cpsdocument_edit_and_view_button=None, action=None
##title=
# $Id: course_edit.py 1071 2006-12-16 15:53:13Z joachim $
"""
"""
wf = context.portal_workflow
from urllib import urlencode
from Products.CPSDocument.utils import getFormUidUrlArg
import DateTime
current = DateTime.DateTime()
import logging
logger = logging.getLogger('Skins.course_edit')

info = context.getCourseResultInfo()

if info is None:
    logger.info('Anonymous user tried to access %s' % REQUEST.get('URL0'))
    return REQUEST.RESPONSE.redirect("%s/srp_anonymous_view" % context.portal_url())

student = info['student']
#per = info['per']
course_doc = info['course_doc']
state = info['review_state']
result_state = wf.getInfoFor(context,'review_state',None)
if result_state == "closed":
    try:
        context.portal_workflow.doActionFor(context,'open')
    except:
        pass

is_valid, ds = course_doc.validate(request=REQUEST,
                                schema_id = 'student_course_result',
                                layout_id = 'student_course_result_fe',
                                proxy=context,
                                use_session=True)

psm = ""
args = {}
action = "/course_edit_form"
base_url = context.absolute_url()

if is_valid:
    if cpsdocument_edit_button:
        #name = "%(firstname)s %(middlename)s %(lastname)s" % ds
        #name = name.strip()
        #name = name.replace('  ',' ')
        #email = ds.get('email')
        #phone = ds.get('phone')
        #student_id = context.getStudentId()
        #context.students_catalog.modifyRecord(id = student_id,
        #                                      name = name,
        #                                      email = email,
        #                                      phone = phone,
        #                                      sex = ds.get('sex'),
        #                                     )
        logger.info('%s (%s) edited course result data %s' % (info['id'],info['review_state'],context.id))
        #action = ""
        #base_url = student.absolute_url()
        #url = base_url + action
        psm = 'psm_content_changed'
else:
    psm = 'psm_content_error'
    args = getFormUidUrlArg(REQUEST)

args['portal_status_message'] = psm
url = base_url + action + '?' + urlencode(args)
REQUEST.RESPONSE.redirect(url)
