Ejemplo n.º 1
0
    def render_cache_prefix(self, request):
        """
        Combines the current domain, the page, the current path,
        the current query string, all of the blocks for a page, all
        of the rows for a page, the current site configuration,
        and all business units for the current site into a
        single string and then hashes it.

        This can be used as a cache key for a Page. It will be change any
        time any block, row, page, or configuration is updated.

        """
        domain = None
        if request.user.is_authenticated() and request.user.is_staff:
            domain = request.REQUEST.get('domain')
        if domain is None:
            domain = request.get_host()

        page = '%s::%s' % (self.pk, self.updated)
        path = request.path
        query_string = context_tools.get_query_string(request)
        blocks = self.all_blocks()
        blocks = ["%s::%s" % (block.id, str(block.updated)) for block in
                  blocks]
        blocks = '#'.join(blocks)
        rows = self.rows.all()
        rows = ["%s::%s" % (row.id, str(row.updated)) for row in rows]
        rows = '#'.join(rows)
        config = context_tools.get_site_config(request)
        config = '%s::%s' % (config.pk, config.revision)
        buids = [str(buid) for buid in getattr(settings, 'SITE_BUIDS', [])]
        buids = '#'.join(buids)
        key = '###'.join([page, path, query_string, config, blocks, rows,
                          buids, domain]).encode('utf-8')
        return hashlib.sha1(key).hexdigest()
Ejemplo n.º 2
0
 def context(self, request, **kwargs):
     return {
         'arranged_jobs': context_tools.get_arranged_jobs(request),
         'data_type': '',
         'num_default_jobs': len(context_tools.get_default_jobs(request)),
         'num_featured_jobs': len(context_tools.get_featured_jobs(request)),
         'site_config': context_tools.get_site_config(request),
     }
Ejemplo n.º 3
0
 def context(self, request, **kwargs):
     return {
         'arranged_jobs': context_tools.get_arranged_jobs(request),
         'data_type': '',
         'num_default_jobs': len(context_tools.get_default_jobs(request)),
         'num_featured_jobs': len(context_tools.get_featured_jobs(request)),
         'site_config': context_tools.get_site_config(request),
     }
Ejemplo n.º 4
0
 def context(self, request, **kwargs):
     return {
         'location_term': context_tools.get_location_term(request, **kwargs),
         'moc_term': context_tools.get_moc_term(request),
         'moc_id_term': context_tools.get_moc_id_term(request),
         'search_url': context_tools.get_search_url(request),
         'site_config': context_tools.get_site_config(request),
         'title_term': context_tools.get_title_term(request),
         'total_jobs_count': context_tools.get_total_jobs_count(request),
     }
Ejemplo n.º 5
0
 def context(self, request, **kwargs):
     return {
         'location_term':
         context_tools.get_location_term(request, **kwargs),
         'moc_term': context_tools.get_moc_term(request),
         'moc_id_term': context_tools.get_moc_id_term(request),
         'search_url': context_tools.get_search_url(request),
         'site_config': context_tools.get_site_config(request),
         'title_term': context_tools.get_title_term(request),
         'total_jobs_count': context_tools.get_total_jobs_count(request),
     }
Ejemplo n.º 6
0
    def context(self, request, **kwargs):
        context = {}
        for block in self.all_blocks():
            context.update(block.context(request, **kwargs))

        site_config = get_site_config(request)

        context.update({'site_title': settings.SITE_TITLE,
                        'site_description': settings.SITE_DESCRIPTION,
                        'doctype': self.doc_type or site_config.doc_type,
                        'language_code': (self.language_code
                                          or site_config.language_code)})

        return context
Ejemplo n.º 7
0
 def context(self, request, **kwargs):
     return {
         'arranged_jobs': context_tools.get_arranged_jobs(request),
         'data_type': '',
         'default_jobs': context_tools.get_default_jobs(request),
         'featured_jobs': context_tools.get_featured_jobs(request),
         'location_term': context_tools.get_location_term(request),
         'moc_term': context_tools.get_moc_term(request),
         'query_string': context_tools.get_query_string(request),
         'results_heading': context_tools.get_results_heading(request),
         'site_commitments_string': context_tools.get_site_commitments_string(request),
         'site_config': context_tools.get_site_config(request),
         'site_tags': settings.SITE_TAGS,
         'title_term': context_tools.get_title_term(request),
     }
Ejemplo n.º 8
0
    def context(self, request, **kwargs):
        context = {}
        for block in self.all_blocks():
            context.update(block.context(request, **kwargs))

        site_config = get_site_config(request)

        context.update({
            'site_title':
            settings.SITE_TITLE,
            'site_description':
            settings.SITE_DESCRIPTION,
            'doctype':
            self.doc_type or site_config.doc_type,
            'language_code': (self.language_code or site_config.language_code)
        })

        return context
Ejemplo n.º 9
0
 def context(self, request, **kwargs):
     site_buid_objects = BusinessUnit.objects.filter(
         id__in=settings.SITE_BUIDS)
     return {
         'arranged_jobs':
         context_tools.get_arranged_jobs(request),
         'data_type':
         '',
         'default_jobs':
         context_tools.get_default_jobs(request),
         'featured_jobs':
         context_tools.get_featured_jobs(request),
         'location_term':
         context_tools.get_location_term(request),
         'moc_term':
         context_tools.get_moc_term(request),
         'query_string':
         context_tools.get_query_string(request),
         'results_heading':
         context_tools.get_results_heading(request),
         'site_commitments_string':
         context_tools.get_site_commitments_string(request),
         'site_config':
         context_tools.get_site_config(request),
         'site_tags':
         settings.SITE_TAGS,
         'title_term':
         context_tools.get_title_term(request),
         'analytics_info':
         json.dumps({
             'site_business_units': ([bu.title
                                      for bu in site_buid_objects]),
             'default_facet_names':
             ([df.name for df in settings.DEFAULT_FACET]),
             'featured_facet_names':
             ([ff.name for ff in settings.FEATURED_FACET])
         })
     }
Ejemplo n.º 10
0
 def context(self, request, **kwargs):
     site_buid_objects = BusinessUnit.objects.filter(id__in=settings.SITE_BUIDS)
     return {
         'arranged_jobs': context_tools.get_arranged_jobs(request),
         'data_type': '',
         'default_jobs': context_tools.get_default_jobs(request),
         'featured_jobs': context_tools.get_featured_jobs(request),
         'location_term': context_tools.get_location_term(request),
         'moc_term': context_tools.get_moc_term(request),
         'query_string': context_tools.get_query_string(request),
         'results_heading': context_tools.get_results_heading(request),
         'site_commitments_string': context_tools.get_site_commitments_string(request),
         'site_config': context_tools.get_site_config(request),
         'site_tags': settings.SITE_TAGS,
         'title_term': context_tools.get_title_term(request),
         'analytics_info': json.dumps({
             'site_business_units': ([bu.title for bu in
                                                 site_buid_objects]),
             'default_facet_names': ([df.name for df in
                                                 settings.DEFAULT_FACET]),
             'featured_facet_names': ([ff.name for ff in
                                                 settings.FEATURED_FACET])
         })
     }