Hola, ho individuato la porzione di CatalogTool che dovrebbe illuminarmi sulal questione ma ... non è così, non riesco a capire come passargli i dati per ottenre solo gli oggetti non scaduti.
def searchResults(self, REQUEST=None, **kw): > """ > Calls ZCatalog.searchResults with extra arguments that > limit the results to what the user is allowed to see. > """ > user = _getAuthenticatedUser(self) > kw[ 'allowedRolesAndUsers' ] = self._listAllowedRolesAndUsers( user > ) > > if not _checkPermission( AccessInactivePortalContent, self ): > now = DateTime() > > self._convertQuery(kw) > > # Intersect query restrictions with those implicit to the tool > for k in 'effective', 'expires': > if kw.has_key(k): > range = kw[k]['range'] or '' > query = kw[k]['query'] > if not isinstance(query, (tuple, list)): > query = (query,) > else: > range = '' > query = None > if range.find('min') > -1: > lo = min(query) > else: > lo = None > if range.find('max') > -1: > hi = max(query) > else: > hi = None > if k == 'effective': > if hi is None or hi > now: > hi = now > if lo is not None and hi < lo: > return () > else: # 'expires': > if lo is None or lo < now: > lo = now > if hi is not None and hi < lo: > return () > # Rebuild a query > if lo is None: > query = hi > range = 'max' > elif hi is None: > query = lo > range = 'min' > else: > query = (lo, hi) > range = 'min:max' > kw[k] = {'query': query, 'range': range} > > return ZCatalog.searchResults(self, REQUEST, **kw) > > __call__ = searchResults > Come fare? Vito 2008/10/20 Yuri <[EMAIL PROTECTED]> > Vito Falco ha scritto: > >> Hola, >> ho creato una nuova view per un mio oggetto di tipo cartella. Questa view >> è quasi una copia del folder_contents. >> >> Non riesco a capire come NON far vedere i contenuti "scaduti" anche >> all'amministratore/proprietario di tale cartella. >> >> Ho cercato in lungo e in largo ma non riesco a venirne fuori perchè vorrei >> usare questa chiamata presente nel folder contents: >> >> folderContents python:here.portal_type=='Topic' and >> here.queryCatalog(contentFilter, batch=True) or >> here.getFolderContents(contentFilter, batch=True, >> b_size=limit_display or 100); >> >> > credo sia l'indice effectiveRange del catalogo. Il suo utilizzo lo trovi in > searchResults in CMFPlone. > > def searchResults(self, REQUEST=None, **kw): > """Calls ZCatalog.searchResults with extra arguments that > limit the results to what the user is allowed to see. > > This version uses the 'effectiveRange' DateRangeIndex. > > It also accepts a keyword argument show_inactive to disable > effectiveRange checking entirely even for those without portal > wide AccessInactivePortalContent permission. > > === > > >> in contentFilter potrei passargli qualcosa tipo: >> >> contentFilter = {'Type': 'oggettomio', 'review_state' : ' published'} >> >> >> ma il "problema" è che quando un oggetto è "scaduto" non cambia lo stato >> di tale oggetto >> > > > > _______________________________________________ > Plone-IT mailing list > Plone-IT@lists.plone.org > http://lists.plone.org/mailman/listinfo/plone-it > http://www.nabble.com/Plone---Italy-f21728.html > -- "Design is the method of putting form and content together. Design, just as art, has multiple definitions; there is no single definition. Design can be art. Design can be aesthetics. Design is so simple, that's why it is so complicated." by Paul Rand
_______________________________________________ Plone-IT mailing list Plone-IT@lists.plone.org http://lists.plone.org/mailman/listinfo/plone-it http://www.nabble.com/Plone---Italy-f21728.html