--- cdli/cdli_files.py 2006/02/15 21:57:39 1.6 +++ cdli/cdli_files.py 2006/02/28 15:17:52 1.8 @@ -250,6 +250,7 @@ class CDLIBasketContainer(OrderedFolder) meta_type="CDLIBasketContainer" + def getBasketIdfromName(self,basketname): """get id from name""" @@ -407,6 +408,7 @@ class CDLIBasketContainer(OrderedFolder) if fromFileList: + return self.cdli_main.findObjectsFromList(list=self.REQUEST.SESSION['fileIds'],basketName=basket.title,numberOfObjects=added) if RESPONSE: @@ -734,10 +736,18 @@ class CDLIFile(versionedFile,CatalogAwar meta_type="CDLI file" default_catalog='CDLICatalog' - def isContainedInBaskets(self): - """check is this file is part of any basket""" - - return [x.getObject() for x in self.CDLIBasketCatalog.search({'getFileNamesInLastVersion':self.getId()})] + + + def isContainedInBaskets(self,context=None): + """check is this file is part of any basket + @param context: (optional) necessessary if CDLIBasketCatalog is not an (inherited) attribute of self, context.CDLIBasketCatalog + has to exist. + """ + + if not context: + context=self + + return [x.getObject() for x in context.CDLIBasketCatalog.search({'getFileNamesInLastVersion':self.getId()})] def addCDLIFileObjectForm(self): @@ -973,7 +983,7 @@ class CDLIFileFolder(versionedFileFolder RESPONSE.redirect(self.aq_parent.absolute_url()) - def findObjectsFromList(self,upload=None,list=None,basketName=None,numberOfObjects=None,RESPONSE=None): + def findObjectsFromList(self,start=None,upload=None,list=None,basketName=None,numberOfObjects=None,RESPONSE=None): """findObjectsFromList (, TAB oder LINE separated)""" if upload: # list from file upload txt=upload.read() @@ -990,10 +1000,14 @@ class CDLIFileFolder(versionedFileFolder #self.REQUEST.SESSION['ids']=" OR ".join(ids) pt=getattr(self,'filelist.html') + self.REQUEST.SESSION['searchList']=ids return pt(search=ids) + if basketName: + #TODO: get rid of one of these.. + pt=getattr(self,'filelist.html') - return pt(search=list,basketName=basketName,numberOfObjects=numberOfObjects) + return pt(basketName=basketName,numberOfObjects=numberOfObjects) if list: # got already a list ret=[] @@ -1002,10 +1016,13 @@ class CDLIFileFolder(versionedFileFolder fileId=fileId+".atf" ret+=self.CDLICatalog({'title':fileId}) + #TODO: get rid of one of these.. self.REQUEST.SESSION['fileIds']=[x.getObject().getId() for x in ret]#store fieldIds in session for further usage + self.REQUEST.SESSION['searchList']=self.REQUEST.SESSION['fileIds'] return ret - #RESPONSE.redirect("filelist.html?path=%s"%" OR ".join(ids)) + if start: + RESPONSE.redirect("filelist.html?start:int="+str(start)) def createAllFilesAsSingleFile(self,RESPONSE=None): """download all files"""