Diff for /basket/groups.py between versions 1.3 and 1.5

version 1.3, 2006/04/03 18:19:45 version 1.5, 2006/04/12 19:37:34
Line 9  from types import * Line 9  from types import *
   
 from AccessControl import SecurityManagement  from AccessControl import SecurityManagement
   
   import smtplib
   
   def sendForm(self,fromaddr,subject,content,nextPage="index_html",RESPONSE=None):
                   """sendform"""
                   fromaddr=fromaddr.strip("\r\n\t") # sicherstellen dass keine zusaetzlichen headerzeilen eingefuegt werden
                   subject=subject.strip("\r\n\t") # sicherstellen dass keine zusaetzlichen headerzeilen eingefuegt werden
                   toaddrs=self.toAddrs
   
                   subject="%s %s"%(self.subjectAdd,subject)
                   
                   msg = ("From: %s\r\nSubject: %s\r\nTo: %s\r\n\r\n"
                          % (fromaddr, subject, ", ".join(toaddrs)))
                   server = smtplib.SMTP("mail.mpiwg-berlin.mpg.de")
                   #server.set_debuglevel(1)
                   msg=msg+content
                   server.sendmail(fromaddr, toaddrs, msg)
                   server.quit()
   
                   if RESPONSE:
                           RESPONSE.redirect(nextPage)
 class GroupFolder(Folder):  class GroupFolder(Folder):
     """Folder which contains groups"""      """Folder which contains groups"""
           
Line 21  class GroupFolder(Folder): Line 41  class GroupFolder(Folder):
         #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          #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 not (len(user.split("@")) ==2):
               pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','AddUserErrorInvalidEmail.zpt')).__of__(self)
               return pt(user=user)
               
               
         if user in repr(self.acl_users.getUserNames()):          if user in repr(self.acl_users.getUserNames()):
             return "ERROR: username already exists"              
               pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','AddUserErrorAlreadyExists.zpt')).__of__(self)
               return pt(user=user)
                   
         if user and password:          if user and password:
             #self.acl_users.addUser(user,password,email)              #self.acl_users.addUser(user,password,email)
Line 45  class GroupFolder(Folder): Line 73  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):
         '''          '''

Removed from v.1.3  
changed lines
  Added in v.1.5


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