#######################################################################################
""" Plinn portal_membership
-$Id: MembershipTool.py 1524 2009-07-02 14:47:53Z pin $
-$URL: http://svn.cri.ensmp.fr/svn/Plinn/branches/CMF-2.1/MembershipTool.py $
+
+
"""
from AccessControl import ClassSecurityInfo, getSecurityManager
return userid
memberName = getattr(member, 'name', '')
memberGivenName = getattr(member, 'given_name', '')
- memberId = member.id
+ memberId = member.getId()
memberFullName = formatFullName(memberName, memberGivenName, memberId, nameBefore = nameBefore)
return memberFullName
ttool = getToolByName(self, 'portal_types')
info = getattr(ttool, self.memberareaPortalType)
- f = info._constructInstance( members, member_id )
memberFullName = self.getMemberFullNameById(member_id, nameBefore = 0)
+ f = info._constructInstance( members, member_id, title=memberFullName )
# Grant Ownership and Owner role to Member
f.changeOwnership(user)
f.__ac_local_roles__ = None
f.manage_setLocalRoles(member_id, ['Owner'])
- f.setTitle(memberFullName)
- info._finishConstruction(f)
+ f.reindexObjectSecurity()
- def _(message, context, expand=()) :
- trmessage = decode(translate(message, context), context)
- expand = tuple([decode(e, context) for e in expand])
- return (trmessage % expand).encode('utf-8')
-
- # Create Member's home page.
- addDocument( f
- , 'index_html'
- , title = _("%s's Home", self, (memberFullName,))
- , description = _("%s's front page", self, (memberFullName,))
- , text_format = "html"
- , text = self.default_member_content(memberFullName=memberFullName).encode('utf-8')
- )
-
- # Grant Ownership and Owner role to Member
- f.index_html.changeOwnership(user)
- f.index_html.__ac_local_roles__ = None
- f.index_html.manage_setLocalRoles(member_id, ['Owner'])
-
- f.index_html._setPortalTypeName( 'Document' )
-
- # Overcome an apparent catalog bug.
- f.index_html.reindexObject()
- wftool = getToolByName( f, 'portal_workflow' )
- wftool.notifyCreated( f.index_html )
+ # Create Member's initial content.
+ if hasattr(self, 'createMemberContent') :
+ self.createMemberContent(member=user,
+ member_id=member_id,
+ member_folder=f)
+ else :
+ def _(message, context, expand=()) :
+ trmessage = decode(translate(message, context), context)
+ expand = tuple([decode(e, context) for e in expand])
+ return (trmessage % expand).encode('utf-8')
+
+ # Create Member's home page.
+ addDocument( f
+ , 'index_html'
+ , title = _("%s's Home", self, (memberFullName,))
+ , description = _("%s's front page", self, (memberFullName,))
+ , text_format = "html"
+ , text = self.default_member_content(memberFullName=memberFullName).encode('utf-8')
+ )
+
+ # Grant Ownership and Owner role to Member
+ f.index_html.changeOwnership(user)
+ f.index_html.__ac_local_roles__ = None
+ f.index_html.manage_setLocalRoles(member_id, ['Owner'])
+
+ f.index_html._setPortalTypeName( 'Document' )
+
+ # Overcome an apparent catalog bug.
+ f.index_html.reindexObject()
+ wftool = getToolByName( f, 'portal_workflow' )
+ wftool.notifyCreated( f.index_html )
+
+ return f
security.declareProtected(ListPortalMembers, 'looseSearchMembers')