version 1.3, 2006/04/03 18:19:45
|
version 1.4, 2006/04/06 16:49:14
|
Line 45 class GroupFolder(Folder):
|
Line 45 class GroupFolder(Folder):
|
return self.checkMembership(str(user), group) |
return self.checkMembership(str(user), group) |
return False |
return False |
|
|
def addKommaListOfUsersToGroup(self,users,group,REQUEST=None,RESPONSE=None): |
def addKommaListOfUsersToGroup(self,users,group,remove=None,REQUEST=None,RESPONSE=None): |
"""add users to a group, users in komma separeted list""" |
"""add users to a group, users in komma separeted list""" |
usersList=users.split(",") |
usersList=[x.lstrip().rstrip() for x in users.split(",")] |
self.addUsersToGroups(usersList,group) |
|
|
self.addUsersToGroups(usersList,group,remove) |
|
|
if RESPONSE: |
if RESPONSE: |
RESPONSE.redirect(REQUEST['HTTP_REFERER']) |
RESPONSE.redirect(REQUEST['HTTP_REFERER']) |
|
|
def addUsersToGroups(self,users,groups): |
def addUsersToGroups(self,users,groups,remove=None): |
"""add users to groups |
"""add users to groups |
@param users: list of usernames |
@param users: list of usernames |
@param groups: list of groupnames |
@param groups: list of groupnames |
|
@param remove: default None, if remove is set the actual |
|
user list of the groups will be replaced by users otherwise users will be added. |
|
if remove= protected then the actualuser can not be deleted. |
""" |
""" |
|
|
|
if type(groups) is not ListType: |
|
groups=[groups] |
|
|
for user in users: |
for user in users: |
self.addUserToGroups(user,groups) |
self.addUserToGroups(user,groups) |
|
|
|
if remove: |
|
for group in groups: |
|
for user in self.getGroupsAndUsers().get(group,None): |
|
if (user not in users): |
|
if not ((remove=="protected") and (user==self.getActualUserName())): |
|
self.removeUserFromGroups(user,group) |
|
|
|
def removeUserFromGroups(self,user,groups): |
|
''' |
|
remove a user from a group |
|
@param user: username |
|
@param groups: list of groupnames |
|
''' |
|
|
|
#make sure that list of groups |
|
print "remove",user,repr(groups) |
|
|
|
if type(groups) is not ListType: |
|
groups=[groups] |
|
|
|
groupObjects=self.ZopeFind(self,obj_ids=groups) |
|
#group doesn't exist, return with false |
|
if len(groupObjects)<1: |
|
return False |
|
|
|
#otherwise add user to group |
|
for groupObject in groupObjects: |
|
groupObject[1].removeUser(user) |
|
|
def addUserToGroups(self,user,groups): |
def addUserToGroups(self,user,groups): |
''' |
''' |