From: <ru...@us...> - 2003-06-26 14:15:02
|
Update of /cvsroot/plone/CMFPlone In directory sc8-pr-cvs1:/tmp/cvs-serv18842 Modified Files: PloneFolder.py Log Message: added sort_on and reverse to contentValues Index: PloneFolder.py =================================================================== RCS file: /cvsroot/plone/CMFPlone/PloneFolder.py,v retrieving revision 1.44 retrieving revision 1.45 diff -C2 -d -r1.44 -r1.45 *** PloneFolder.py 23 Jun 2003 03:48:39 -0000 1.44 --- PloneFolder.py 26 Jun 2003 14:14:59 -0000 1.45 *************** *** 121,124 **** --- 121,140 ---- return self.browserDefault(request) + security.declarePublic('contentValues') + def contentValues(self, + spec=None, + filter=None, + sort_on=None, + reverse=0): + """ Able to sort on field """ + values=SkinnedFolder.contentValues(self, spec=spec, filter=filter) + if sort_on is not None: + values.sort(lambda x, y: safe_cmp(getattr(x,sort_on), + getattr(y,sort_on))) + if reverse: + values.reverse() + + return values + security.declareProtected( ListFolderContents, 'listFolderContents') def listFolderContents( self, spec=None, contentFilter=None, suppressHiddenFiles=0 ): *************** *** 147,150 **** --- 163,171 ---- return l InitializeClass(PloneFolder) + + def safe_cmp(x, y): + if callable(x): x=x() + if callable(y): y=y() + return cmp(x,y) manage_addPloneFolder=PloneFolder.manage_addPloneFolder |