Пример #1
0
    def collection(self):
        context = None
        portal_state = getMultiAdapter((self.context, self.request),
                                       name=u'plone_portal_state')
        portal = portal_state.portal()

        if (IPloneSiteRoot.providedBy(self.context)
                or IATTopic.providedBy(self.context)):
            self.kind = 'all'
            collection = 'todas-las-noticias'
            context = portal

        if INITF.providedBy(self.context):
            self.kind = 'section'
            normalizer = getUtility(IIDNormalizer)
            collection = normalizer.normalize(self.context.section)
            context = portal.get('noticias', None)

        if not context:
            return None

        result = context.get(collection, None)

        if result is not None:
            sm = getSecurityManager()
            if not sm.checkPermission('View', result):
                result = None

        return result
Пример #2
0
 def get_urls(self):
     urls = []
     urls.append({'rel': 'self',
         'template': self.context.absolute_url() + '/' + self.__name__,
         'type': 'application/opensearchdescription+xml',
         'indexOffset' : None})
     urls.append({'rel': 'results',
         'template': self.context.absolute_url() + '/opensearch_rss.xml?SearchableText={searchTerms}&b_start:int={startIndex?}&b_size:int={count?}',
         'type': 'application/rss+xml',
         'indexOffset' : '0'})
     urls.append({'rel': 'results',
         'template': self.context.absolute_url() + '/opensearch_atom.xml?SearchableText={searchTerms}&b_start:int={startIndex?}&b_size:int={count?}',
         'type': 'application/atom+xml',
         'indexOffset' : '0'})
     if self.settings.suggestion_limit > 0 and IPloneSiteRoot.providedBy(self.context):
         urls.append({'rel': 'suggestions',
             'template': self.context.absolute_url() + '/opensearch_suggestions?command={searchTerms}',
             'type': 'application/x-suggestions+json',
             'indexOffset' : None})
     if IPloneSiteRoot.providedBy(self.context):
         urls.append({'rel': 'results',
             'template': self.context.absolute_url() + '/search?SearchableText={searchTerms}',
             'type': 'text/html',
             'indexOffset' : '0'})
     elif IATTopic.providedBy(self.context):
         urls.append({'rel': 'results',
             'template': self.context.absolute_url() + '/opensearch_html.html?SearchableText={searchTerms}',
             'type': '"text/html',
             'indexOffset' : '0'})
     return urls
Пример #3
0
    def collection(self):
        context = None
        portal_state = getMultiAdapter((self.context, self.request),
                                       name=u'plone_portal_state')
        portal = portal_state.portal()
        
        if (IPloneSiteRoot.providedBy(self.context) or
            IATTopic.providedBy(self.context)):
            self.kind = 'all'
            collection = 'todas-las-noticias'
            context = portal

        if INITF.providedBy(self.context):
            self.kind = 'section'
            normalizer = getUtility(IIDNormalizer)
            collection = normalizer.normalize(self.context.section)
            context = portal.get('noticias', None)

        if not context:
            return None

        result = context.get(collection, None)

        if result is not None:
            sm = getSecurityManager()
            if not sm.checkPermission('View', result):
                result = None

        return result
Пример #4
0
 def available(self):
     # only show on collection/topic
     if not self.context.restrictedTraverse('@@iscalendarlayout')():
         return False
     if ICollection.providedBy(self.context):
         return True
     if IATTopic.providedBy(self.context):
         return True
     return False
Пример #5
0
def get_results(context, request):
        search_results = []
        if IPloneSiteRoot.providedBy(context):
            search_results = query_catalog(context, request,
                                        use_types_blacklist=True)
        elif IATTopic.providedBy(context):
            q1 = context.buildQuery()
            q2, show_query = build_query(context,request)
            query = combine_queries(q1,q2)
            search_results = get_query_results(context, query,
                                    show_query=True, use_types_blacklist=True)
        return search_results
Пример #6
0
    def folderContents(self):
        contentFilter = self.request.get('contentFilter', {})
        contentFilter = dict(contentFilter)
        limit_display = self.limit_display()

        contentFilter['object_provides'] = IRTVideo.__identifier__

        if IATTopic.providedBy(self.context):
            return self.context.queryCatalog(batch=True, **contentFilter) 

        return self.context.getFolderContents(contentFilter, 
                batch=True, b_size=limit_display)
Пример #7
0
 def items(self):
     sdata = []
     if IATTopic.providedBy(self.context):
         sdata = [a
                  for a in self.context.queryCatalog()
                  if a.portal_type in ['libertic_event']]
     if ICollection.providedBy(self.context):
         sdata = [a
                  for a in self.context.results(batch=False,
                                                brains=True)
                  if a.portal_type in ['libertic_event']]
     if IDatabase.providedBy(self.context):
         catalog = getToolByName(self.context, 'portal_catalog')
         query = {
             'portal_type': 'libertic_event',
             'review_state': 'published',
             'path':  {
                 'query' : '/'.join(self.context.getPhysicalPath()),
             },
         }
         sdata = catalog.searchResults(**query)
     return sdata
Пример #8
0
def _is_collection(context):
    return IATTopic.providedBy(context) or \
        ICollection.providedBy(context)
Пример #9
0
 def __call__(self):
     if IPloneSiteRoot.providedBy(self.context) or IATTopic.providedBy(self.context):
         self.request.RESPONSE.setHeader('Content-Type','text/xml; charset=utf-8')
         return ViewPageTemplateFile('descriptionview.pt')(self)
     else:
         return ''
Пример #10
0
 def render(self):
     if IPloneSiteRoot.providedBy(self.context) or IATTopic.providedBy(self.context):
         return self.template()
     else:
         return ''
Пример #11
0
 def render(self):
     if IPloneSiteRoot.providedBy(self.context) or IATTopic.providedBy(
             self.context):
         return self.template()
     else:
         return ''