--- versionedFile/versionedFile.py 2004/07/08 18:56:41 1.11 +++ versionedFile/versionedFile.py 2004/11/04 08:53:38 1.18 @@ -8,7 +8,7 @@ from Products.PageTemplates.PageTemplate from Products.PageTemplates.ZopePageTemplate import ZopePageTemplate from AccessControl import ClassSecurityInfo import os.path - +import time def sortv(x,y): return cmp(x[0],y[0]) @@ -16,6 +16,7 @@ def sortv(x,y): class versionedFileFolder(Folder): """Folder with versioned files""" + meta_type = "versionedFileFolder" security= ClassSecurityInfo() @@ -26,6 +27,12 @@ class versionedFileFolder(Folder): {'label':'Generate history_template.html','action':'generateHistoryHTML'}, ) + def helpDownload(self): + """download help""" + + pt=PageTemplateFile('Products/versionedFile/zpt/helpDownload').__of__(self) + return pt() + def generateIndexHTML(self,RESPONSE=None): """lege standard index.html an""" @@ -67,11 +74,28 @@ class versionedFileFolder(Folder): if RESPONSE is not None: RESPONSE.redirect('manage_main') - def getVersionedFiles(self): + def getVersionedFiles(self,sortField='title'): """get all versioned files""" + + def sortName(x,y): + return cmp(x[1].title.lower(),y[1].title.lower()) + + def sortDate(x,y): + return cmp(y[1].getLastVersion().getTime(),x[1].getLastVersion().getTime()) + + def sortAuthor(x,y): + + return cmp(x[1].getLastVersion().lastEditor(),y[1].getLastVersion().lastEditor()) versionedFiles=self.ZopeFind(self,obj_metatypes=['versionedFile']) - + + if sortField=='title': + versionedFiles.sort(sortName) + elif sortField=='date': + versionedFiles.sort(sortDate) + elif sortField=='author': + versionedFiles.sort(sortAuthor) + return versionedFiles @@ -159,6 +183,21 @@ class versionedFileObject(File): Kind='File',kind='file') manage_editForm._setName('manage_editForm') + def getTime(self): + """getTime""" + #return self.bobobase_modification_time().ISO() + if hasattr(self,'time'): + return time.strftime("%Y-%m-%d %H:%M:%S",self.time) + elif hasattr(self,'timefixed'): + return self.timefixed + else: + setattr(self,'timefixed',self.bobobase_modification_time().ISO()) + return self.bobobase_modification_time().ISO() + + + + + def download(self): """download and lock""" @@ -222,6 +261,8 @@ def manage_addVersionedFileObject(self,i # First, we create the file without data: self._setObject(id, versionedFileObject(id,title,'',content_type, precondition)) self._getOb(id).versionComment=str(vC) + self._getOb(id).time=time.localtime() + setattr(self._getOb(id),'author',author) # Now we "upload" the data. By doing this in two steps, we @@ -246,9 +287,11 @@ class versionedFile(Folder): self.title=title self.lockedBy=lockedBy self.author=author + meta_type="versionedFile" + def getLastVersion(self): """Last Version""" tmp=0 @@ -267,7 +310,7 @@ class versionedFile(Folder): """main view""" lastVersion=self.getLastVersion() #return "File:"+self.title+" Version:%i"%lastVersion.versionNumber," modified:",lastVersion.bobobase_modification_time()," size:",lastVersion.getSize(),"modified by:",lastVersion.lastEditor() - return "File: %s Version:%i modified:%s size:%s modified by:%s"%(self.title,lastVersion.versionNumber,lastVersion.bobobase_modification_time(),lastVersion.getSize(),lastVersion.lastEditor()) + return "File: %s Version:%i modified:%s size:%s modified by:%s"%(self.title,lastVersion.versionNumber,lastVersion.getTime(),lastVersion.getSize(),lastVersion.lastEditor()) def getVersion(self): tmp=0