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