version 1.2, 2006/03/19 03:26:56
|
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): |
''' |
''' |
Line 213 class Group(SimpleItem):
|
Line 249 class Group(SimpleItem):
|
|
|
meta_type="Group" |
meta_type="Group" |
|
|
|
|
|
manage_options=SimpleItem.manage_options+( |
|
{'label':'change group members','action':'changeUsersInGroupForm'}, |
|
) |
|
|
def __init__(self,id,description): |
def __init__(self,id,description): |
"""init group""" |
"""init group""" |
self.id=id |
self.id=id |
Line 258 class Group(SimpleItem):
|
Line 299 class Group(SimpleItem):
|
""" get Userlist """ |
""" get Userlist """ |
return self.userList |
return self.userList |
|
|
|
def changeUsersInGroupForm(self): |
|
"""html form for changing the users""" |
|
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','changeUsersInGroup.zpt')).__of__(self) |
|
return pt() |
|
|
|
def changeUsersInGroup(self,userList,RESPONSE=None): |
|
"""change group""" |
|
self.userList=userList.split(",")[0:] |
|
|
|
if RESPONSE is not None: |
|
RESPONSE.redirect('manage_main') |
|
|
def isInGroup(self,username): |
def isInGroup(self,username): |
''' |
''' |
check if username is in group |
check if username is in group |