Diff for /basket/groups.py between versions 1.1 and 1.2

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
                   

Removed from v.1.1  
changed lines
  Added in v.1.2


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>