--- versionedFile/versionedFile.py 2005/03/03 13:00:39 1.28 +++ versionedFile/versionedFile.py 2005/03/05 11:57:18 1.30 @@ -96,9 +96,11 @@ class versionedFileFolder(Folder,ECHO_ba def sortDate(x,y): return cmp(y[1].getLastVersion().getTime(),x[1].getLastVersion().getTime()) + def sortComment(x,y): + return cmp(getattr(x[1],'comment','ZZZZZZZZZZZZZ').lower(),getattr(y[1],'comment','ZZZZZZZZZZZZZ').lower()) 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 +110,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 +414,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')