Diff for /versionedFile/extVersionedFile.py between versions 1.15 and 1.25

version 1.15, 2007/11/23 17:52:34 version 1.25, 2008/08/08 16:19:26
Line 514  class extVersionedFileFolder(Folder,ECHO Line 514  class extVersionedFileFolder(Folder,ECHO
                   
         # get new extVersionedFile          # get new extVersionedFile
         vf = self._newVersionedFile(id,title=id)          vf = self._newVersionedFile(id,title=id)
         #if (getattr(self,'commentNonEmpty',0)==1) and vC.strip()=="":          logging.debug("addFile id=%s vf=%s of %s"%(repr(id),repr(vf),repr(self)))
         # add file to this folder          # add its content (and don't index)
           obj=vf.addContentObject(id,vC,author=author,file=file,content_type=content_type,from_tmp=isRealFile,index=False)
           # add file to this folder (this should do the indexing)
         self._setObject(id,vf)          self._setObject(id,vf)
         # add its content  
         logging.info("ADD: %s"%repr(vf))  
         obj=vf.addContentObject(id,vC,author=author,file=file,content_type=content_type,from_tmp=isRealFile)  
                   
           try:
         self.REQUEST.SESSION['objID']=vf.getId()          self.REQUEST.SESSION['objID']=vf.getId()
         self.REQUEST.SESSION['objID_parent']=None          self.REQUEST.SESSION['objID_parent']=None
           except:
               pass
   
         if obj.getSize()==0:          if obj.getSize()==0:
             pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','errorUploadFile')).__of__(self)              pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','errorUploadFile')).__of__(self)
Line 611  class extVersionedFileObject(ExtFile): Line 613  class extVersionedFileObject(ExtFile):
         self.time = time          self.time = time
         self.author = author          self.author = author
   
       security.declareProtected('manage','changeObject')
       def changeObject(self,**args):
           """modify any of the objects attributes"""
           for arg in args:
               if hasattr(self, arg):
                   logging.debug("changeObject %s: %s=%s"%(repr(self),arg,args[arg]))
                   setattr(self, arg, args[arg])
   
     security.declarePublic('getTitle')      security.declarePublic('getTitle')
     def getTitle(self):      def getTitle(self):
Line 690  class extVersionedFileObject(ExtFile): Line 699  class extVersionedFileObject(ExtFile):
   
         #self.REQUEST.close()          #self.REQUEST.close()
           
       view = download
       
     security.declareProtected('AUTHENTICATED_USER','downloadLocked')          security.declareProtected('AUTHENTICATED_USER','downloadLocked')    
     def downloadLocked(self):      def downloadLocked(self):
         """download and lock"""          """download and lock"""
Line 786  class extVersionedFile(CatalogAware,Fold Line 797  class extVersionedFile(CatalogAware,Fold
         self.id=id          self.id=id
         self.title=title          self.title=title
         self.lockedBy=lockedBy          self.lockedBy=lockedBy
           if self.lockedBy is None:
               self.lockedBy = ''
         self.author=author          self.author=author
         self.lastVersionNumber=0          self.lastVersionNumber=0
         self.lastVersionId=None          self.lastVersionId=None
Line 872  class extVersionedFile(CatalogAware,Fold Line 885  class extVersionedFile(CatalogAware,Fold
     def getLastChangeDate(self):      def getLastChangeDate(self):
         """get last change date"""          """get last change date"""
         lv=self.getContentObject()          lv=self.getContentObject()
           if lv:
         time=lv.getTime()          time=lv.getTime()
         return time          return time
           return None
           
     def getLastEditor(self):      def getLastEditor(self):
         """get last change date"""          """get last change date"""
Line 883  class extVersionedFile(CatalogAware,Fold Line 898  class extVersionedFile(CatalogAware,Fold
           
     def getLockedBy(self):      def getLockedBy(self):
         """get locked by"""          """get locked by"""
           if self.lockedBy is None:
               self.lockedBy = ''
         return str(self.lockedBy)          return str(self.lockedBy)
           
     def getLastVersionNumber(self):      def getLastVersionNumber(self):
Line 925  class extVersionedFile(CatalogAware,Fold Line 942  class extVersionedFile(CatalogAware,Fold
   
     def getContentObject(self):      def getContentObject(self):
         """returns the last version object"""          """returns the last version object"""
         if not hasattr(self, 'lastVersionId'):          if not getattr(self, 'lastVersionId', None):
             # find last version and save it              # find last version and save it
             lv = self.findLastVersion()              lv = self.findLastVersion()
             if lv is None:              if lv is None:
Line 933  class extVersionedFile(CatalogAware,Fold Line 950  class extVersionedFile(CatalogAware,Fold
             self.lastVersionNumber = lv.getVersionNumber()              self.lastVersionNumber = lv.getVersionNumber()
             self.lastVersionId = lv.getId()              self.lastVersionId = lv.getId()
                           
         return getattr(self, self.lastVersionId)          return getattr(self, self.lastVersionId, None)
   
     security.declarePublic('getData')      security.declarePublic('getData')
     def getData(self):      def getData(self):
Line 944  class extVersionedFile(CatalogAware,Fold Line 961  class extVersionedFile(CatalogAware,Fold
         else:          else:
             return None              return None
           
       security.declarePublic('view')
       def view(self,REQUEST=None,RESPONSE=None):
           """Returns the last version's view"""
           ob = self.getContentObject()
           if ob is not None:
               return ob.view(REQUEST=REQUEST,RESPONSE=RESPONSE)
           else:
               return None
       
     def diff(self,data):      def diff(self,data):
         """differenz between lastversion and data"""          """differenz between lastversion and data"""
         d=Differ()          d=Differ()
Line 1003  class extVersionedFile(CatalogAware,Fold Line 1029  class extVersionedFile(CatalogAware,Fold
         ret.sort(sortv)          ret.sort(sortv)
         return ret          return ret
   
       def getVersionList(self):
           """get a list of dicts with author, comment, filename, etc, of all versions"""
           vl = []
           for v in self.objectValues(self.content_meta_type):
               vl.append({'versionNumber':getattr(v,'versionNumber',0),
                         'title':v.getTitle(),
                         'id':v.getId(),
                         'date':v.getTime(),
                         'author':getattr(v,'author',''),
                         'comment':getattr(v,'versionComment','')
                         })
           return vl
   
     security.declareProtected('AUTHENTICATED_USER','forceunlock')         security.declareProtected('AUTHENTICATED_USER','forceunlock')   
     def forceunlock(self,RESPONSE=None):      def forceunlock(self,RESPONSE=None):
         """unlock"""          """unlock"""
Line 1029  class extVersionedFile(CatalogAware,Fold Line 1068  class extVersionedFile(CatalogAware,Fold
         return extVersionedFileObject(id,title,versionNumber=versionNumber,versionComment=versionComment,time=time,author=author)          return extVersionedFileObject(id,title,versionNumber=versionNumber,versionComment=versionComment,time=time,author=author)
   
   
     def addContentObject(self,id,vC,author=None,file=None,title='',changeName='no',newName='',from_tmp=False,      def addContentObject(self,id,vC,author=None,file=None,title='',changeName='no',newName='',from_tmp=False,index=True,
                          precondition='', content_type=''):                           precondition='', content_type=''):
         """add"""          """add"""
                   
Line 1078  class extVersionedFile(CatalogAware,Fold Line 1117  class extVersionedFile(CatalogAware,Fold
         self.lastVersionId = id          self.lastVersionId = id
                   
         #logging.debug("addcontentobject: lastversion=%s"%self.getData())          #logging.debug("addcontentobject: lastversion=%s"%self.getData())
           #logging.debug("addcontentobject: fob_data=%s"%fob.getData())
           if index and self.default_catalog:
         logging.debug("reindex1: %s in %s"%(repr(self),repr(self.default_catalog)))          logging.debug("reindex1: %s in %s"%(repr(self),repr(self.default_catalog)))
         self.reindex_object()          self.reindex_object()
         #logging.debug("addcontentobject: fob_data=%s"%fob.getData())  
                   
         return fob          return fob
                           
Line 1123  class extVersionedFile(CatalogAware,Fold Line 1163  class extVersionedFile(CatalogAware,Fold
                 return pt()                  return pt()
   
             else:              else:
                 RESPONSE.redirect(self.REQUEST['URL2'])                  RESPONSE.redirect(self.absolute_url()+'/history')
         else:          else:
             return ob              return ob
   
   
     changeVersionedFileForm = PageTemplateFile('zpt/changeVersionedFile', globals())      changeVersionedFileForm = PageTemplateFile('zpt/changeVersionedFile', globals())
           
     def manage_changeVersionedFile(self,title,vC,author,comment):      def manage_changeVersionedFile(self,title,vC,author,comment,RESPONSE=None):
         """Change VersionedFile metadata"""          """Change VersionedFile metadata"""
         self.title = title          self.title = title
         self.author = author          self.author = author
Line 1144  class extVersionedFile(CatalogAware,Fold Line 1184  class extVersionedFile(CatalogAware,Fold
             else:              else:
                 cob.versionComment=comment                  cob.versionComment=comment
   
           if RESPONSE:
               RESPONSE.redirect('manage_main')
   
                   
     def download(self):      def download(self):
         """download"""          """download"""
Line 1152  class extVersionedFile(CatalogAware,Fold Line 1195  class extVersionedFile(CatalogAware,Fold
         self.content_type="application/octet-stream"          self.content_type="application/octet-stream"
         self.REQUEST.RESPONSE.redirect(self.REQUEST['URL1']+'/'+self.getId()+'/'+self.getContentObject().getId())          self.REQUEST.RESPONSE.redirect(self.REQUEST['URL1']+'/'+self.getId()+'/'+self.getContentObject().getId())
           
       
     security.declareProtected('AUTHENTICATED_USER','downloadLocked')          security.declareProtected('AUTHENTICATED_USER','downloadLocked')    
     def downloadLocked(self):      def downloadLocked(self):
         """download and lock"""          """download and lock"""

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


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