Ich versuche bei einem Übergang die Rolle des Benutzers der den Übergang auslöst, in einer externen Methode, die mit der Option After nach dem Übergang aufgerufen werden soll, zu ändern.
Ich erhlate keine Fehlermeldung aber auch nicht das gewünschte Ergebnis. Denn ich kann weder das Objekt bearbeiten, noch kann ich den Status ändern, wie die Rechte für die Rolle, die ich dem Benutzer nach dem Übergang angedeihen lassen will, es eigentlich vorsehen.
im folgenden das Script
Python
[color=red]from Products.CMFCore.utils import getToolByName
from AccessControl import getSecurityManager
def change_role(self, state_change, **kw):
##parameters=state_change
obj=state_change.object
membershiptool=getToolByName(self, 'portal_membership')
memberId=getSecurityManager().getUser()
member=memberId.getUserName()
membershiptool.setLocalRoles(obj,(member,),'Translator_accepted',reindex=1)
[/color]
Alles anzeigen
und hier die Rechte von Translator_accepted
Access contents information
Add portal events
AidsContentType: Translate Auftrag
AidsContentType: View Review_Comment
AidsContentType: View Translation
Change portal events
List folder contents
Modify portal content
View