Example #1
0
def sync(obj, event):
    member = IMemberData(obj, None)

    # only proceed if member exists:
    if member is not None:
        member.setMemberProperties({
            'fullname': obj.title,
            'email': obj.emailAddress, })
def sync(obj, event=None):
    member = IMemberData(obj, None)
    if member is not None:
        update_groups(obj, member.id, getattr(member, 'role', None))

        member.setMemberProperties({
            'description': obj.description, })

        portrait = getattr(obj, 'portrait', None)
        portal_membership = getToolByName(obj, 'portal_membership')
        if portrait:
            file = portrait.open()
            file.filename = portrait.filename
            try:
                portal_membership.changeMemberPortrait(file, obj.id)
            except Unauthorized:
                pass
        else:
            try:
                portal_membership.deletePersonalPortrait(obj.id)
            except Unauthorized:
                pass