зеркало из https://github.com/mozilla/kitsune.git
Filter by product in topic navigation.
This commit is contained in:
Родитель
98a3902bed
Коммит
5f23b341ae
|
@ -24,21 +24,22 @@
|
|||
{%- endmacro %}
|
||||
|
||||
{% macro product_dropdown(products, topic, selected_product=None) -%}
|
||||
<h3 class="sidebar-subheading large-only">{{ _('Filter by product') }}</h3>
|
||||
|
||||
<nav class="sidebar-nav topics">
|
||||
<span class="details-heading"></span>
|
||||
<select id="products-topics-dropdown" class="sidebar-nav--dropdown">
|
||||
<option value="{{ url('products.topic_documents', topic_slug=topic.slug) }}" {% if selected_product is none %}selected{% endif %}>
|
||||
{{ _('All Products') }}
|
||||
</option>
|
||||
{% for product in products %}
|
||||
<option value="{{ url('products.topic_product_documents', topic_slug=topic.slug, product_slug=product.slug) }}"
|
||||
{% if selected_product == product %}selected{% endif %}>
|
||||
{{ pgettext('DB: products.Product.title', product.title) }}
|
||||
</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</nav>
|
||||
{% if products|length > 1 %}
|
||||
<h3 class="sidebar-subheading large-only">{{ _('Filter by product') }}</h3>
|
||||
|
||||
<nav class="sidebar-nav topics">
|
||||
<span class="details-heading"></span>
|
||||
<select id="products-topics-dropdown" class="sidebar-nav--dropdown">
|
||||
<option value="{{ url('products.topic_documents', topic_slug=topic.slug) }}" {% if selected_product is none %}selected{% endif %}>
|
||||
{{ _('All Products') }}
|
||||
</option>
|
||||
{% for product in products %}
|
||||
<option value="{{ url('products.topic_product_documents', topic_slug=topic.slug, product_slug=product.slug) }}"
|
||||
{% if selected_product == product %}selected{% endif %}>
|
||||
{{ pgettext('DB: products.Product.title', product.title) }}
|
||||
</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</nav>
|
||||
{% endif %}
|
||||
{%- endmacro %}
|
||||
|
|
|
@ -117,6 +117,7 @@ def document_listing(request, topic_slug, product_slug=None, subtopic_slug=None)
|
|||
subtopic = None
|
||||
topic_list = []
|
||||
product_topics = []
|
||||
relevant_products = []
|
||||
topic_kw = {
|
||||
"slug": topic_slug,
|
||||
"visible": True,
|
||||
|
@ -137,6 +138,7 @@ def document_listing(request, topic_slug, product_slug=None, subtopic_slug=None)
|
|||
.values("id")[:1]
|
||||
)
|
||||
topic_list = Topic.active.filter(id__in=Subquery(topic_subquery))
|
||||
relevant_products = Product.active.filter(m2m_topics=topic)
|
||||
else:
|
||||
topic = get_object_or_404(Topic, slug=topic_slug, product=product, parent__isnull=True)
|
||||
product_topics = topics_for(request.user, product=product, parent=None)
|
||||
|
@ -171,6 +173,6 @@ def document_listing(request, topic_slug, product_slug=None, subtopic_slug=None)
|
|||
"search_params": {"product": product_slug},
|
||||
"topic_navigation": topic_navigation,
|
||||
"topic_list": topic_list,
|
||||
"products": Product.active.filter(topics__in=product_topics),
|
||||
"products": relevant_products,
|
||||
},
|
||||
)
|
||||
|
|
Загрузка…
Ссылка в новой задаче