version 1.1, 2006/03/02 19:57:32
|
version 1.2, 2006/03/19 03:26:56
|
Line 14 class GroupFolder(Folder):
|
Line 14 class GroupFolder(Folder):
|
|
|
meta_type="GroupFolder" |
meta_type="GroupFolder" |
|
|
def registerNewUser(self,user,password,email,forward_to=None,RESPONSE=None): |
def registerNewUser(self,user,password,email='',forward_to=None,RESPONSE=None): |
"""register a new user to the system, username and password, will be stored in the acl_users folder, |
"""register a new user to the system, username and password, will be stored in the acl_users folder, |
additional information are added here.""" |
additional information are added here.""" |
|
|
#TODO: check if user already exists in LDAP |
#TODO: check if user already exists in LDAP |
|
#TODO: email is not registered yet, because MPIWGUserfolder is not working with CookieCrumbler |
#print [x for x in repr(self.acl_users.getUserNames())] |
#print [x for x in repr(self.acl_users.getUserNames())] |
if user in repr(self.acl_users.getUserNames()): |
if user in repr(self.acl_users.getUserNames()): |
return "ERROR: username already exists" |
return "ERROR: username already exists" |
self.acl_users.addUser(user,password,email) |
|
|
if user and password: |
|
#self.acl_users.addUser(user,password,email) |
|
self.aq_parent.acl_users._doAddUser(user, password, '', '') |
|
|
add="user=%s"%user |
add="user=%s"%user |
if forward_to.find("?")>-1: |
if forward_to.find("?")>-1: |
Line 41 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): |
|
"""add users to a group, users in komma separeted list""" |
|
usersList=users.split(",") |
|
self.addUsersToGroups(usersList,group) |
|
|
|
if RESPONSE: |
|
RESPONSE.redirect(REQUEST['HTTP_REFERER']) |
|
|
def addUsersToGroups(self,users,groups): |
def addUsersToGroups(self,users,groups): |
"""add users to groups |
"""add users to groups |
@param users: list of usernames |
@param users: list of usernames |
Line 113 class GroupFolder(Folder):
|
Line 125 class GroupFolder(Folder):
|
@param user: |
@param user: |
@param group: |
@param group: |
''' |
''' |
|
print "checking publish for user:",user,group,self.aq_parent.getId() |
|
ret=False |
|
|
groups=self.ZopeFind(self,obj_metatypes=['Group'],obj_ids=[group]) |
groups=self.ZopeFind(self,obj_metatypes=['Group'],obj_ids=[group]) |
#group doesn't exist |
#group doesn't exist |
|
|
|
if group=="publish": |
|
#special group, member is allowed to publish basket, at the moment all members of the admin group at root level |
|
#member of publish |
|
|
|
return self.users.groupFolder.checkMembership(user,'admin') |
|
|
if len(groups)<1: |
if len(groups)<1: |
return False |
ret=False |
else: |
else: |
print "check",groups[0][0],user,groups[0][1].aq_parent.aq_parent.getId() |
ret=groups[0][1].isInGroup(user) |
return groups[0][1].isInGroup(user) |
|
|
if (not ret) and (self.aq_parent.getId()!='users'): |
|
#teste ob mitglied in super group |
|
return self.users.groupFolder.checkMembership(user,'admin') |
|
else: |
|
return ret |
|
|
def returnUsers(self): |
def returnUsers(self): |
"""return all users of groups""" |
"""return all users of groups""" |
Line 136 class GroupFolder(Folder):
|
Line 161 class GroupFolder(Folder):
|
|
|
return users |
return users |
|
|
|
def getGroupsAndUsers(self): |
|
"""return all groups and their users as dict""" |
|
|
|
users={} |
|
for group in self.ZopeFind(self,obj_metatypes=['Group']): |
|
for user in group[1].getUsers(): |
|
if users.has_key(group[0]): |
|
if not (user in users[group[0]]): |
|
users[group[0]].append(user) |
|
else: |
|
users[group[0]]=[user] |
|
return users |
|
|
def manage_addGroupFolderForm(self): |
def manage_addGroupFolderForm(self): |
"""form for adding a groupFolder""" |
"""form for adding a groupFolder""" |
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','addGroupFolder.zpt')).__of__(self) |
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','addGroupFolder.zpt')).__of__(self) |
Line 192 class Group(SimpleItem):
|
Line 230 class Group(SimpleItem):
|
list.append(username) |
list.append(username) |
self.userList=list[0:] |
self.userList=list[0:] |
|
|
|
def removeUser(self,username): |
|
""" |
|
remove an user from group |
|
""" |
|
list=self.userList |
|
list.remove(username) |
|
self.userList=list[0:] |
|
|
|
|
def addGroup(self,group): |
def addGroup(self,group): |
''' |
''' |
add a group to the group |
add a group to the group |
Line 224 class Group(SimpleItem):
|
Line 271 class Group(SimpleItem):
|
return True |
return True |
|
|
#check first if user is in userList of this group |
#check first if user is in userList of this group |
print self.userList, username |
|
if username in self.userList: |
if username in self.userList: |
return True |
return True |
|
|