{% extends 'base.html' %}
{% load helpers %}
{% load registry %}
{% block header %}
{{ block.super }}
{% if new_release %}
{# new_release is set only if the current user is a superuser or staff member #}
{% for panel_name, panel_details in registry.homepage_layout.panels.items %}
{% if request.user|has_one_or_more_perms:panel_details.permissions %}
{% with cookie_key='homepanel-'|add:panel_name|slugify %}
{{ panel_name }}
{% endwith %}
{% if panel_details.rendered_html %}
{% autoescape off %}{{ panel_details.rendered_html }}{% endautoescape %}
{% elif panel_details.items %}
{% for item_name, item_details in panel_details.items.items %}
{% if item_details.rendered_html %}
{% if request.user|has_one_or_more_perms:item_details.permissions %}
{% autoescape off %}{{ item_details.rendered_html }}{% endautoescape %}
{% endif %}
{% elif not item_details.items.items %}
{% if request.user|has_one_or_more_perms:item_details.permissions %}
{% if request.user|has_perms:item_details.permissions %}
{{ item_details.count }}
{% comment %}
Use 'url xxx as variable' so that an invalid
link doesn't throw a NoReverseMatch exception.
{% endcomment %}
{% url item_details.link as item_url %}
{% if item_url %}
{{ item_name }}
{% else %}
ERROR: Invalid link!
{% endif %}
{% else %}
{{ item_name }}
{% endif %}
{{ item_details.description }}
{% endif %}
{% else %}
{{ item_name }}
{% for group_item_name, group_item_details in item_details.items.items %}
{% if request.user|has_one_or_more_perms:group_item_details.permissions %}
{% if request.user|has_perms:group_item_details.permissions %}
{% if group_item_details.rendered_html %}
{% autoescape off %}
{{ group_item_details.rendered_html }}
{% endautoescape %}
{% else %}
{{ group_item_details.count }}
{% comment %}
Use 'url xxx as variable' so that an invalid
link doesn't throw a NoReverseMatch exception.
{% endcomment %}
{% url group_item_details.link as group_url %}
{% if group_url %}
{{ group_item_name }}
{% else %}
ERROR: Invalid link!
{% endif %}