Grazie ma...
sto costruendo solo una vista che deve "imitare" quello che vedono gli
anonimi quindi non è la strada giusta quella di modificare i permessi del
ruolo poichè avrebbe una ripercussione più ampia.
Necessito giusto che questa vista elenchi gli elementi presenti nella
cartella in stato non scaduti.

Vito

2008/10/21 Yuri <[EMAIL PROTECTED]>

> Vito Falco ha scritto:
>
>> 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.
>>
>  if not _checkPermission( AccessInactivePortalContent, self ):
>
> prova a togliere a quell'utente questo permesso, anche se penso dipenda dal
> ruolo owner.
>
> Cmq, basta che imposti il filtro come fanno qui sotto.
>
>
>>    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] <mailto:[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 <mailto: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
>>
>
>
> _______________________________________________
> 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