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

Rispondere a