Diff for /cdli/cdli_files.py between versions 1.5 and 1.6

version 1.5, 2006/02/13 20:35:35 version 1.6, 2006/02/15 21:57:39
Line 360  class CDLIBasketContainer(OrderedFolder) Line 360  class CDLIBasketContainer(OrderedFolder)
         self.last=last          self.last=last
         return last          return last
           
     def setActiveBasket(self,basketId):      def setActiveBasket(self,basketId,REQUEST=None):
         """store active basketId in a cookie"""          """store active basketId in a cookie"""
         self.REQUEST.RESPONSE.setCookie("CDLIActiveBasket",basketId,path="/")          self.REQUEST.RESPONSE.setCookie("CDLIActiveBasket",basketId,path="/")
           if REQUEST:
               REQUEST.RESPONSE.redirect(REQUEST['URL1'])
                   
     def getActiveBasket(self):      def getActiveBasket(self):
         """get active basket from cookie"""          """get active basket from cookie"""
                   
         id= self.REQUEST.cookies.get('CDLIActiveBasket',None)          id= self.REQUEST.cookies.get('CDLIActiveBasket',None)
         obj=getattr(self,id,None)          if id:
               obj=getattr(self,str(id),None)
           else:
               obj=None
         return obj          return obj
       
     def getActualUserName(self):      def getActualUserName(self):
         """get name of the actualuser"""          """get name of the actualuser"""
         return str(self.REQUEST['AUTHENTICATED_USER'])          return str(self.REQUEST['AUTHENTICATED_USER'])
Line 381  class CDLIBasketContainer(OrderedFolder) Line 387  class CDLIBasketContainer(OrderedFolder)
         ob=manage_addCDLIBasket(self,newBasketName)          ob=manage_addCDLIBasket(self,newBasketName)
         return ob          return ob
           
     def storeInBasket(self,ids,submit,newBasketName=None,RESPONSE=None,REQUEST=None):      def storeInBasket(self,submit,ids=None,newBasketName=None,fromFileList=None,RESPONSE=None,REQUEST=None):
         """store it"""          """store it"""
           if not ids:
               ids=self.REQUEST.SESSION['fileIds']
                   
         if type(ids) is not ListType:          if type(ids) is not ListType:
             ids=[ids]              ids=[ids]
                   
         if submit=="store in new basket":          if (submit.lower()=="store in new basket") or (submit.lower()=="new basket"):
             basketRet=self.addBasket(newBasketName)              basketRet=self.addBasket(newBasketName)
             self.setActiveBasket(basketRet.getId())              self.setActiveBasket(basketRet.getId())
             basket=getattr(self,basketRet.getId())              basket=getattr(self,basketRet.getId())
         elif submit=="store in active basket":          elif (submit.lower()=="store in active basket") or (submit.lower()=="active basket"):
             basket=self.getActiveBasket()              basket=self.getActiveBasket()
                     
         basket.addObjects(ids)          added=basket.addObjects(ids)
         back=self.REQUEST['HTTP_REFERER']          back=self.REQUEST['HTTP_REFERER'].split("?")[0]+"?basketName="+basket.title+"&numberOfObjects="+str(added)
           
           
           if fromFileList:
               return self.cdli_main.findObjectsFromList(list=self.REQUEST.SESSION['fileIds'],basketName=basket.title,numberOfObjects=added)
   
         if RESPONSE:          if RESPONSE:
               
             RESPONSE.redirect(back)              RESPONSE.redirect(back)
                           
           return True
                   
 def manage_addCDLIBasketContainerForm(self):  def manage_addCDLIBasketContainerForm(self):
     """add the CDLIBasketContainer form"""      """add the CDLIBasketContainer form"""
Line 496  class CDLIBasket(Folder,CatalogAware): Line 510  class CDLIBasket(Folder,CatalogAware):
             oldContent=[]              oldContent=[]
   
         newContent=[]          newContent=[]
                added=0
         for id in ids:          for id in ids:
             founds=self.CDLICatalog.search({'title':id})              founds=self.CDLICatalog.search({'title':id})
             print id,founds  
             for found in founds:              for found in founds:
                 if found.getObject() not in oldContent:                  if found.getObject() not in oldContent:
                     #TODO: was passiert wenn, man eine Object dazufŸgt, das schon da ist aber eine neuere version                      #TODO: was passiert wenn, man eine Object dazufŸgt, das schon da ist aber eine neuere version
                     newContent.append((found.getObject().getLastVersion(),found.getObject()))                      newContent.append((found.getObject().getLastVersion(),found.getObject()))
                           added+=1
   
         content=oldContent+newContent          content=oldContent+newContent
                   
Line 512  class CDLIBasket(Folder,CatalogAware): Line 526  class CDLIBasket(Folder,CatalogAware):
                   
         ob=manage_addCDLIBasketVersion(self,user,comment="",basketContent=content)          ob=manage_addCDLIBasketVersion(self,user,comment="",basketContent=content)
   
               return added
           
     def deleteObjects(self,ids,RESPONSE=None):      def deleteObjects(self,ids,RESPONSE=None):
         """delete objects"""          """delete objects"""
Line 959  class CDLIFileFolder(versionedFileFolder Line 973  class CDLIFileFolder(versionedFileFolder
             RESPONSE.redirect(self.aq_parent.absolute_url())              RESPONSE.redirect(self.aq_parent.absolute_url())
                   
   
     def findObjectsFromList(self,upload,RESPONSE):      def findObjectsFromList(self,upload=None,list=None,basketName=None,numberOfObjects=None,RESPONSE=None):
         """findObjectsFromList (, TAB oder LINE separated)"""          """findObjectsFromList (, TAB oder LINE separated)"""
           if upload: # list from file upload
         txt=upload.read()          txt=upload.read()
         txt=txt.replace(",","\n")          txt=txt.replace(",","\n")
         txt=txt.replace("\t","\n")          txt=txt.replace("\t","\n")
Line 969  class CDLIFileFolder(versionedFileFolder Line 984  class CDLIFileFolder(versionedFileFolder
         for id in idsTmp: # make sure that no empty lines          for id in idsTmp: # make sure that no empty lines
             idTmp=id.lstrip().rstrip()              idTmp=id.lstrip().rstrip()
             if len(idTmp)>0:              if len(idTmp)>0:
                       
                 ids.append(idTmp)                  ids.append(idTmp)
                       
         #self.REQUEST.SESSION['ids']=" OR ".join(ids)          #self.REQUEST.SESSION['ids']=" OR ".join(ids)
                   
         RESPONSE.redirect("filelist.html?path=%s"%" OR ".join(ids))              pt=getattr(self,'filelist.html')
               return pt(search=ids)
           if basketName:
               pt=getattr(self,'filelist.html')
               return pt(search=list,basketName=basketName,numberOfObjects=numberOfObjects)
           
           if list: # got already a list
               ret=[]
               for fileId in list:
                   if len(fileId.split("."))==1:
                           fileId=fileId+".atf"
                           
                   ret+=self.CDLICatalog({'title':fileId})
               self.REQUEST.SESSION['fileIds']=[x.getObject().getId() for x in ret]#store fieldIds in session for further usage
               return ret
           
           #RESPONSE.redirect("filelist.html?path=%s"%" OR ".join(ids))
           
     def createAllFilesAsSingleFile(self,RESPONSE=None):      def createAllFilesAsSingleFile(self,RESPONSE=None):
         """download all files"""          """download all files"""

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


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