--- versionedFile/versionedFile.py 2005/03/03 13:00:39 1.28 +++ versionedFile/versionedFile.py 2005/03/05 12:09:34 1.31 @@ -15,8 +15,8 @@ try: except: print "ECHO Elements not imported" class ECHO_basis: - """leer""" - manage_options=() + """leer""" + manage_options=() def sortv(x,y): @@ -96,9 +96,20 @@ class versionedFileFolder(Folder,ECHO_ba def sortDate(x,y): return cmp(y[1].getLastVersion().getTime(),x[1].getLastVersion().getTime()) + def sortComment(x,y): + try: + x=getattr(x[1],'comment','ZZZZZZZZZZZZZ').lower() + except: + x='zzzzzzzzzzzzzzzz' + try: + y=getattr(y[1],'comment','ZZZZZZZZZZZZZ').lower() + except: + y='zzzzzzzzzzzzzzzz' + return cmp(x,y) + def sortAuthor(x,y): - return cmp(x[1].getLastVersion().lastEditor(),y[1].getLastVersion().lastEditor()) + return cmp(x[1].getLastVersion().lastEditor().lower(),y[1].getLastVersion().lastEditor().lower()) versionedFiles=self.ZopeFind(self,obj_metatypes=['versionedFile']) @@ -108,6 +119,8 @@ class versionedFileFolder(Folder,ECHO_ba versionedFiles.sort(sortDate) elif sortField=='author': versionedFiles.sort(sortAuthor) + elif sortField=='comment': + versionedFiles.sort(sortComment) return versionedFiles @@ -410,7 +423,17 @@ class versionedFile(Folder): def forceunlock(self,RESPONSE): """unlock""" self.lockedBy='' - + + security.declareProtected('AUTHENTICATED_USER','unlock') + def unlock(self,RESPONSE): + """unlock""" + if str(self.lockedBy) in [str(self.REQUEST['AUTHENTICATED_USER'])]: + self.lockedBy='' + RESPONSE.redirect(self.REQUEST['URL2']) + else: + return "Sorry, not locked by you! (%s,%s)"%(self.lockedBy,self.REQUEST['AUTHENTICATED_USER']) + + security.declareProtected('AUTHENTICATED_USER','addVersionedFileObjectForm')