Diff for /versionedFile/versionedFile.py between versions 1.9 and 1.15

version 1.9, 2004/07/08 16:30:53 version 1.15, 2004/10/19 14:35:07
Line 8  from Products.PageTemplates.PageTemplate Line 8  from Products.PageTemplates.PageTemplate
 from Products.PageTemplates.ZopePageTemplate import ZopePageTemplate  from Products.PageTemplates.ZopePageTemplate import ZopePageTemplate
 from AccessControl import ClassSecurityInfo  from AccessControl import ClassSecurityInfo
 import os.path  import os.path
   import time
   
 def sortv(x,y):  def sortv(x,y):
     return cmp(x[0],y[0])      return cmp(x[0],y[0])
Line 16  def sortv(x,y): Line 16  def sortv(x,y):
 class versionedFileFolder(Folder):  class versionedFileFolder(Folder):
     """Folder with versioned files"""      """Folder with versioned files"""
   
       
     meta_type = "versionedFileFolder"      meta_type = "versionedFileFolder"
   
     security= ClassSecurityInfo()      security= ClassSecurityInfo()
Line 26  class versionedFileFolder(Folder): Line 27  class versionedFileFolder(Folder):
                 {'label':'Generate history_template.html','action':'generateHistoryHTML'},                  {'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):      def generateIndexHTML(self,RESPONSE=None):
         """lege standard index.html an"""          """lege standard index.html an"""
   
Line 67  class versionedFileFolder(Folder): Line 74  class versionedFileFolder(Folder):
         if RESPONSE is not None:          if RESPONSE is not None:
             RESPONSE.redirect('manage_main')              RESPONSE.redirect('manage_main')
   
     def getVersionedFiles(self):      def getVersionedFiles(self,sortField='title'):
         """get all versioned files"""          """get all versioned files"""
                   
           def sortName(x,y):
               return cmp(x[1].title,y[1].title)
   
           def sortDate(x,y):
               return cmp(x[1].getLastVersion().getTime(),y[1].getLastVersion().getTime)
   
           def sortAuthor(x,y):
               
               return cmp(x[1].getLastVersion().lastEditor(),y[1].getLastVersion().lastEditor())
           
     versionedFiles=self.ZopeFind(self,obj_metatypes=['versionedFile'])      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          return versionedFiles
   
   
Line 99  class versionedFileFolder(Folder): Line 123  class versionedFileFolder(Folder):
         return out()          return out()
   
   
     def addFile(self,vC,file,author,content_type='',RESPONSE=None):      def addFile(self,vC,file,author,newName='',content_type='',RESPONSE=None):
         """ add a new file"""          """ add a new file"""
           if newName=='':
         id=file.filename          id=file.filename
           else:
               id=newName
                   
         vC=self.REQUEST.form['vC']          vC=self.REQUEST.form['vC']
         manage_addVersionedFile(self,id,'','')          manage_addVersionedFile(self,id,'','')
Line 156  class versionedFileObject(File): Line 183  class versionedFileObject(File):
                                Kind='File',kind='file')                                 Kind='File',kind='file')
     manage_editForm._setName('manage_editForm')      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)
           else:
               return self.bobobase_modification_time().ISO()
   
   
   
       
   
     def download(self):      def download(self):
         """download and lock"""          """download and lock"""
                   
                   
         self.content_type="octet/stream"          self.content_type="application/octet-stream"
         self.REQUEST.RESPONSE.redirect(self.absolute_url())          self.REQUEST.RESPONSE.redirect(self.absolute_url())
           
     def downloadLocked(self):      def downloadLocked(self):
Line 173  class versionedFileObject(File): Line 212  class versionedFileObject(File):
             return "cannot be locked because is already locked by %s"%self.lockedBy              return "cannot be locked because is already locked by %s"%self.lockedBy
         self.aq_parent.lockedBy=self.REQUEST['AUTHENTICATED_USER']          self.aq_parent.lockedBy=self.REQUEST['AUTHENTICATED_USER']
   
         self.content_type="octet/stream"          self.content_type="application/octet-stream"
         self.REQUEST.RESPONSE.redirect(self.absolute_url())          self.REQUEST.RESPONSE.redirect(self.absolute_url())
           
     def setVersionNumber(self,versionNumber):      def setVersionNumber(self,versionNumber):
Line 219  def manage_addVersionedFileObject(self,i Line 258  def manage_addVersionedFileObject(self,i
     # First, we create the file without data:      # First, we create the file without data:
     self._setObject(id, versionedFileObject(id,title,'',content_type, precondition))      self._setObject(id, versionedFileObject(id,title,'',content_type, precondition))
     self._getOb(id).versionComment=str(vC)      self._getOb(id).versionComment=str(vC)
       self._getOb(id).time=time.localtime()
       
     setattr(self._getOb(id),'author',author)      setattr(self._getOb(id),'author',author)
           
     # Now we "upload" the data.  By doing this in two steps, we      # Now we "upload" the data.  By doing this in two steps, we
Line 244  class versionedFile(Folder): Line 285  class versionedFile(Folder):
         self.lockedBy=lockedBy          self.lockedBy=lockedBy
         self.author=author          self.author=author
                   
           
     meta_type="versionedFile"      meta_type="versionedFile"
   
     
     def getLastVersion(self):      def getLastVersion(self):
         """Last Version"""          """Last Version"""
         tmp=0          tmp=0
Line 264  class versionedFile(Folder): Line 307  class versionedFile(Folder):
         """main view"""          """main view"""
         lastVersion=self.getLastVersion()          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:"+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):      def getVersion(self):
         tmp=0          tmp=0
Line 321  class versionedFile(Folder): Line 364  class versionedFile(Folder):
         else:          else:
             return "Sorry file is locked by somebody else"              return "Sorry file is locked by somebody else"
                   
     def manage_addVersionedFileObject(self,id,vC,author,file='',title='',precondition='', content_type='',changeName='no',RESPONSE=None):      def manage_addVersionedFileObject(self,id,vC,author,file='',title='',precondition='', content_type='',changeName='no',newName='', RESPONSE=None):
         """add"""          """add"""
                   
         vC=self.REQUEST['vC']          vC=self.REQUEST['vC']
Line 330  class versionedFile(Folder): Line 373  class versionedFile(Folder):
         if changeName=="yes":          if changeName=="yes":
             self.title=file.filename[0:]              self.title=file.filename[0:]
   
           if not newName=='':
               self.title=newName[0:]
   
         id="V%i"%self.getVersion()+"_"+self.title          id="V%i"%self.getVersion()+"_"+self.title
         manage_addVersionedFileObject(self,id,vC,author,file,"V%i"%self.getVersion()+"_"+self.title,precondition, content_type)          manage_addVersionedFileObject(self,id,vC,author,file,"V%i"%self.getVersion()+"_"+self.title,precondition, content_type)

Removed from v.1.9  
changed lines
  Added in v.1.15


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