def createInProductFolder(self): homefolder = IHomeFolder(self.principal).homeFolder if not homefolder: utility = getUtility(IHomeFolderManager) utility.assignHomeFolder(uvcsite.IMasterUser(self.principal).id) if self.folderURI and not self.folderURI in homefolder.keys(): pf = self.productfolder homefolder[self.folderURI] = pf() uvcsite.log('Add Productfolders %s to Homefolder: %s' % (self.folderURI, self.principal.id), severity=logging.DEBUG)
class MyRoles(grok.Adapter): grok.context(IPrincipal) grok.implements(uvcsite.IMyRoles) def __init__(self, principal): self.principal = principal self.homefolder = IHomeFolder(IMasterUser(self.principal)).homeFolder def getAllRoles(self): hfr = IPrincipalRoleMap(self.homefolder) masteruser = False ret = [] for rolesetting in hfr.getRolesForPrincipal(self.principal.id): role, setting = rolesetting if 'uvc.Editor' == role and setting is Allow: masteruser = True ret.append('ENMS') for name, productfolder in self.homefolder.items(): if not name.startswith('__'): if masteruser: ret.append(name) else: prm = IPrincipalRoleMap(productfolder) for rolesetting in prm.getRolesForPrincipal(self.principal.id): role, setting = rolesetting if 'uvc.Editor' == role and setting is Allow: ret.append(name) return ret
def update(self): """ Wir müssen zunächst eine Instanz der Unfallanzeige anlegen. Diese Instanz dient als Context für den Wizard. """ hf = IHomeFolder(self.request.principal).homeFolder self.uaz = uaz = Unfallanzeige() hf['Unfallanzeigen'].add(uaz)
def applyPermissionsForExistentCoUsers(factory): principal = factory.object createProductFolders(principal) homefolder = IHomeFolder(principal).homeFolder if not homefolder: return um = getUtility(IUserManagement) user = um.getUser(principal.id) rollen = user['rollen'] if user['az'] != '00': pid = "%s-%s" % (user['mnr'], user['az']) else: pid = user['mnr'] if homefolder.__name__ != pid: for pf in homefolder.keys(): if pf in rollen: prm = IPrincipalRoleManager(homefolder.get(pf)) if prm.getSetting('uvc.Editor', pid).getName() == 'Unset': prm.assignRoleToPrincipal('uvc.Editor', pid) uvcsite.log('Give uvc.Editor to %s in folder %s' % (pid, pf))
def __init__(self, principal): self.principal = principal self.homefolder = IHomeFolder(IMasterUser(self.principal)).homeFolder
def action(self): return self.view.url( IHomeFolder(self.request.principal).homeFolder, 'request_token')