source: waeup_product/trunk/skins/waeup_student/create_jamb.py @ 158

Last change on this file since 158 was 152, checked in by joachim, 19 years ago

=studylevel + Title

  • Property svn:keywords set to Id
File size: 2.2 KB
Line 
1##parameters=REQUEST=None
2# $Id: create_jamb.py 152 2005-11-04 17:07:18Z joachim $
3"""
4Create an the Jamb-Record for a Student
5
6"""
7
8type_name = 'Jamb'
9ti = context.portal_types[type_name]
10pr = context.portal_registration
11pm = context.portal_membership
12
13REQUEST.set('type_name',type_name)
14
15validate = REQUEST.has_key("cpsdocument_edit_button")
16
17lt = context.portal_layouts
18
19res,psm,ds = lt.renderLayout(layout_id= 'jambcreate',
20                      schema_id= 'jamb',
21                      context=context,
22                      mapping=validate and REQUEST,
23                      ob={},
24                      layout_mode='create',
25                      )
26if psm == 'invalid':
27    return context.create_jamb_form(rendered = res,
28                                 psm = 'Please correct your errors',
29                                 ds = ds,
30                                 )
31elif psm == '':
32    return context.create_jamb_form(rendered = res,
33                                 psm = psm,
34                                 ds = ds,
35                                 )
36   
37elif psm == 'valid':
38    s_id = "s%s" % ds.get('reg_nr')
39    skw = {'title': "%(firstname)s %(lastname)s" % ds}
40    context.invokeFactory('Student',s_id)
41    student = getattr(context,s_id)   
42    student.getContent().edit(mapping=skw)
43    context.notifyCPSDocumentCreation(ob=student)
44    jamb_id = 'JAMB'
45    student.invokeFactory('Jamb',jamb_id)
46    jamb = getattr(student,jamb_id)   
47    ds.set('title', "%(reg_nr)s (%(lastname)s)" % ds)
48    jamb.getContent().edit(mapping=ds)
49    context.notifyCPSDocumentCreation(ob=jamb)
50    psm = 'Student created'
51    noCPSMember = False
52    try:
53        pr.addMember(s_id, 'UnSeT',roles=('Member','CPSMember','Student','Contributor'))
54    except:
55        noCPSMember = True
56    if noCPSMember:
57        pr.addMember(s_id, 'UnSeT',roles=('Member','Student','Contributor'))
58    student.manage_setLocalRoles(s_id, ['Owner'])
59    jamb.manage_setLocalRoles(s_id, ['Owner'])
60##    student.getContent().setOwnership(s_id)
61##    jamb.getContent().setOwnership(s_id)
62##    groups = context.portal_directories.groups
63##    gm = list(groups.getEntry('Students')['members'])
64##    gm.extend((s_id,))
65##    groups.editEntry({'group': 'Students',
66##                      'members': gm}) 
67    return context.students_folder_view_manager(psm=psm)
68
Note: See TracBrowser for help on using the repository browser.