##parameters=REQUEST=None
# $Id: create_course.py 892 2006-11-18 21:14:18Z henrik $
"""
Create a Course

"""
type_name = 'Course'
REQUEST.set('type_name',type_name)

ti = context.portal_types[type_name]
pr = context.portal_registration
pm = context.portal_membership

validate = REQUEST.has_key("cpsdocument_create_button")

lt = context.portal_layouts

res,psm,ds = lt.renderLayout(layout_id= 'course',
                      schema_id = 'course',
                      context=context,
                      mapping=validate and REQUEST,
                      ob={},
                      layout_mode='create',
                      create_action = 'create_course',
                      )
if  psm == 'invalid':
    return context.common_edit_form(rendered = res,
                                 create = 1,
                                 type_name = type_name,
                                 psm = 'Please correct your errors!',
                                 )
elif psm == '':
    return context.common_edit_form(rendered = res,
                                 create = 1,
                                 type_name = type_name,
                                 psm = psm,
                                 )

elif psm == 'valid':
    oid = "%s" % ds.get('code').replace(' ','')
    context.invokeFactory(type_name,oid)
    object = getattr(context,oid)
    ds.set('Title',ds.get('heading'))
    object.getContent().edit(mapping=ds,proxy=object)
    context.notifyCPSDocumentCreation(ob=object)
    psm = 'new %s created!' % oid
    context_ti = context.portal_types[context.portal_type]
    index = context_ti.getActionById('view','university_view')
    return getattr(context,index)(psm=psm)

