Beispiel #1
0
def event_list_for_section(request, pk):
    page = page_for_app_request(request)
    page.activate_language(request)

    section = get_object_or_404(Section, pk)

    event_list = event_list_for_page(page)

    event_list = event_list.filter(section=section)

    ancestors = list(page.ancestors().reverse())

    return render_list(
        request,
        event_list_for_page(page),
        {
            "page":
            page,
            "header_image":
            page.get_header_image(),
            "meta_tags":
            meta_tags([page] + ancestors, request=request),
            "regions":
            Regions.from_item(
                page,
                renderer=pages.renderer.renderer,
                timeout=60,
                inherit_from=ancestors,
            ),
            "section":
            section,
        },
        paginate_by=20,
    )
Beispiel #2
0
def event_list(request):
    page = page_for_app_request(request)
    page.activate_language(request)

    ancestors = list(page.ancestors().reverse())

    event_list = event_list_for_page(page)

    if "section" in request.GET:
        event_list = event_list.filter(section__slug=request.GET["section"])

    return render_list(
        request,
        event_list,
        {
            "location_list":
            Location.objects.filter(event__in=event_list, ).distinct(),
            "page":
            page,
            "header_image":
            page.get_header_image(),
            "vapid_public_key":
            settings.VAPID_PUBLIC_KEY,
            "meta_tags":
            meta_tags([page] + ancestors, request=request),
            "regions":
            Regions.from_item(
                page,
                renderer=pages.renderer.renderer,
                timeout=60,
                inherit_from=ancestors,
            ),
        },
        paginate_by=12,
    )
Beispiel #3
0
def teams_for_section(request):
    page = page_for_app_request(request)
    page.activate_language(request)

    section = page.site.section
    ancestors = list(page.ancestors().reverse())

    return render_list(
        request,
        Team.objects.filter(
            section=section,
            language_code=page.language_code,
        ),
        {
            "page":
            page,
            "meta_tags":
            meta_tags([page] + ancestors, request=request),
            "regions":
            Regions.from_item(
                page,
                renderer=pages.renderer.renderer,
                timeout=60,
                inherit_from=ancestors,
            ),
        },
        paginate_by=10,
    )
Beispiel #4
0
def article_list_all(request):
    page = page_for_app_request(request)
    page.activate_language(request)
    return render_list(
        request,
        Article.objects.filter(category=page.application),
        {'page': page},
    )
Beispiel #5
0
def article_list(request):
    page = page_for_app_request(request)
    page.activate_language(request)

    article_list = articles_for_page(page)
    category_list = Category.objects.filter(article__in=article_list).distinct()

    if request.GET.get("category", None):
        article_list = article_list.filter(
            category__slug__in=request.GET.getlist("category")
        )

    q = ""

    if request.GET.get("search", ""):
        vector = (
            SearchVector("title", weight="A")
            + SearchVector("category__name", weight="A")
            + SearchVector("blog_richtext_set__text", weight="A")
            + SearchVector("blog_glossaryrichtext_set__text", weight="A")
            + SearchVector("author__first_name", weight="B")
            + SearchVector("author__last_name", weight="B")
        )
        query = consume(request.GET["search"])
        q = request.GET["search"]
        article_list = (
            article_list.annotate(
                rank=SearchRank(vector, query, cover_density=True),
                headline=SearchHeadline(
                    'blog_richtext_set__text',
                    query,
                    max_words=25,
                    min_words=20,
                    max_fragments=2,
                )
            )
            .filter(rank__gt=0)
            .order_by("-rank")
            .distinct()
        )

    ancestors = list(page.ancestors().reverse())
    return render_list(
        request,
        article_list,
        {
            "page": page,
            "q": q,
            "header_image": page.get_header_image(),
            "vapid_public_key": settings.VAPID_PUBLIC_KEY,
            "category_list": category_list,
            "meta_tags": meta_tags([page] + ancestors, request=request),
            "regions": Regions.from_item(
                page, renderer=pages.renderer.renderer, timeout=60,
            ),
        },
        paginate_by=12,
    )
Beispiel #6
0
def article_list(request):
    page = page_for_app_request(request)
    page.activate_language(request)
    return render_list(
        request,
        Article.objects.filter(category=page.app_namespace),
        {"page": page},
        paginate_by=5,
    )
Beispiel #7
0
def article_list(request):
    page = page_for_app_request(request)
    page.activate_language(request)
    return render_list(
        request,
        # Only show articles for the current app.
        Article.objects.published().filter(
            category=page.application, ).prefetch_related('images'),
        {'page': page},
        paginate_by=10,
    )
Beispiel #8
0
def article_list(request):
    page = page_for_app_request(request)
    page.activate_language(request)
    return render_list(
        request,
        # Only show articles for the current app.
        Article.objects.published().filter(
            category=page.application,
        ).prefetch_related('images'),
        {'page': page},
        paginate_by=10,
    )
Beispiel #9
0
    def test_render_list(self):
        for i in range(7):
            Article.objects.create(title="Article %s" % i,
                                   category="publications")

        request = RequestFactory().get("/", data={"page": 2})
        response = render_list(request,
                               list(Article.objects.all()),
                               model=Article,
                               paginate_by=2)

        self.assertEqual(response.template_name, "testapp/article_list.html")
        self.assertEqual(len(response.context_data["object_list"]), 2)
        self.assertEqual(response.context_data["object_list"].number, 2)
        self.assertEqual(
            response.context_data["object_list"].paginator.num_pages, 4)
Beispiel #10
0
def glossary(request):
    page = page_for_app_request(request)
    page.activate_language(request)

    ancestors = list(page.ancestors().reverse())

    entries = Entry.objects.filter(language_code=page.language_code)
    q = ""

    if "search" in request.GET and request.GET["search"]:
        vector = SearchVector("name", weight="A") + SearchVector("content", weight="B")
        query = consume(request.GET["search"])
        print(query)
        q = request.GET["search"]
        print(q)

        entries = (
            entries.annotate(rank=SearchRank(vector, query))
            .filter(rank__gte=0.1)
            .order_by("-rank")
        )

    return render_list(
        request,
        entries,
        {
            "page": page,
            "meta_tags": meta_tags([page] + ancestors, request=request),
            "header_image": page.get_header_image(),
            "regions": Regions.from_item(
                page,
                renderer=pages.renderer.renderer,
                timeout=60,
                inherit_from=ancestors,
            ),
            "search": q,
        },
        paginate_by=50,
    )
Beispiel #11
0
def article_list(request):
    page = page_for_app_request(request)

    page.activate_language(request)
    ancestors = list(page.ancestors().reverse())

    article_list = Article.objects.filter(namespace=page.namespace,
                                          publication_date__lte=timezone.now())

    return render_list(
        request, article_list, {
            'page':
            page,
            'article_list':
            article_list,
            "meta_tags":
            meta_tags([page] + ancestors, request=request),
            "regions":
            Regions.from_item(page,
                              renderer=cms_renderer,
                              timeout=60,
                              inherit_from=ancestors),
        })
Beispiel #12
0
def category_list(request, slug):
    page = page_for_app_request(request)
    page.activate_language(request)

    articles = articles_for_page(page).filter(category__slug=slug)

    ancestors = list(page.ancestors().reverse())

    return render_list(
        request,
        articles,
        {
            "page": page,
            "header_image": page.get_header_image(),
            "meta_tags": meta_tags([page] + ancestors, request=request),
            "regions": Regions.from_item(
                page,
                renderer=pages.renderer.renderer,
                timeout=60,
                inherit_from=ancestors,
            ),
        },
        paginate_by=10,
    )