;ς Lβ=c@sΪdZdZdklZlZlZdklZdkl Z dk l Z dk l Z edeƒƒZedeƒƒZedeƒƒZd „Zd efd „ƒYZe d d eeeeƒZee id s cCsdSdS(Ns"exUserFolder that wraps memberdata((sself((sY/mnt/gmirror/ports/www/zope-exuserfolder/work/exUserFolder/cmfPropSource/cmfPropSource.pys__str__BscCs|i|dƒi|ƒSdS(Nsportal_memberdata(sselfs getToolByNames hasPropertyskey(sselfskey((sY/mnt/gmirror/ports/www/zope-exuserfolder/work/exUserFolder/cmfPropSource/cmfPropSource.pys hasPropertyEscCs"tod|t|ƒfndS(NssetProperty on propSource(sDEBUGskeysstrsvalue(sselfskeysvalue((sY/mnt/gmirror/ports/www/zope-exuserfolder/work/exUserFolder/cmfPropSource/cmfPropSource.pys setPropertyHscCsdS(N((sselfskeysvalue((sY/mnt/gmirror/ports/www/zope-exuserfolder/work/exUserFolder/cmfPropSource/cmfPropSource.pyssetTempPropertyLscCsdS(N((sself((sY/mnt/gmirror/ports/www/zope-exuserfolder/work/exUserFolder/cmfPropSource/cmfPropSource.pysflushTempPropertiesOscCs2tod|fn|id|d|iƒdS(NsdelProperty on propSourceskeysusername(sDEBUGskeysselfsdelUserPropertysname(sselfskey((sY/mnt/gmirror/ports/www/zope-exuserfolder/work/exUserFolder/cmfPropSource/cmfPropSource.pys delPropertyRscCsdS(N((sselfskeysusername((sY/mnt/gmirror/ports/www/zope-exuserfolder/work/exUserFolder/cmfPropSource/cmfPropSource.pysdelUserPropertyVscCst|dƒi||ƒSdS(Nsportal_memberdata(s getToolByNamesselfs getPropertyskeysdefault(sselfskeysdefault((sY/mnt/gmirror/ports/www/zope-exuserfolder/work/exUserFolder/cmfPropSource/cmfPropSource.pys getPropertyYscCsBg}x1|i|dƒiƒD]}|i|dƒqWtSdS(Nsportal_memberdatai(sprop_idssselfs getToolByNames propertyItemsstsappendsprops(sselfsprop_idsst((sY/mnt/gmirror/ports/www/zope-exuserfolder/work/exUserFolder/cmfPropSource/cmfPropSource.pyslistProperties\s cCs,t|dƒi|ƒ}t|||ƒSdS(Nsportal_membership(s getToolByNamesselfs getMemberByIdsusernamesmembersgetattrskeysdefault(sselfskeysusernamesdefaultsmember((sY/mnt/gmirror/ports/www/zope-exuserfolder/work/exUserFolder/cmfPropSource/cmfPropSource.pysgetUserPropertybscCsTto!dG|Gt|ƒGt|ƒGHnt|dƒi|ƒ}t |||ƒdS(NssetUserPropertysportal_membership( sDEBUGsusernamesstrskeysvalues getToolByNamesselfs getMemberByIdsmemberssetattr(sselfskeysusernamesvaluesmember((sY/mnt/gmirror/ports/www/zope-exuserfolder/work/exUserFolder/cmfPropSource/cmfPropSource.pyssetUserPropertyfs!cCsog}t|dƒi|ƒ}xFt|dƒiƒD]/}t||dƒo|i |dƒq4q4W|SdS(Nsportal_membershipsportal_memberdatai( spropss getToolByNamesselfs getMemberByIdsusernamesmembers propertyItemsspshasattrsappend(sselfsusernamesmemberspsprops((sY/mnt/gmirror/ports/www/zope-exuserfolder/work/exUserFolder/cmfPropSource/cmfPropSource.pyslistUserPropertieskscCsdS(s? disabled because CMF plumbing does this before we are reached N((sselfsusernamesREQUEST((sY/mnt/gmirror/ports/www/zope-exuserfolder/work/exUserFolder/cmfPropSource/cmfPropSource.pys createUsersscCsdS(sI you can delete a user and then prune the memberdata, this is not impl'd N((sselfsuserids((sY/mnt/gmirror/ports/www/zope-exuserfolder/work/exUserFolder/cmfPropSource/cmfPropSource.pys deleteUserswscCsŽtodG|Gt|iƒƒGHnh}x>|iƒD]0}|d djo|i|||d