Skip to content

Commit

Permalink
Allow url parameters on navigation
Browse files Browse the repository at this point in the history
  • Loading branch information
jscott1989 committed Nov 20, 2016
1 parent 8a93f65 commit 363db73
Show file tree
Hide file tree
Showing 13 changed files with 71 additions and 23 deletions.
35 changes: 35 additions & 0 deletions src/happening/templatetags/layout.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
"""Template tags relating to layout."""

from django import template
from django.template.loader import render_to_string
from django.urls import reverse

register = template.Library()


@register.simple_tag(takes_context=True)
def primary_navigation_item(context, *params, **kwargs):
"""Render navigation items."""
context["text"] = kwargs.pop("text")
context["link_name"] = kwargs.pop("link")
context["icon"] = kwargs.pop("icon")
context["link"] = reverse(context["link_name"], kwargs=kwargs)
return render_to_string("_primary_navigation_item.html", context)


@register.simple_tag(takes_context=True)
def secondary_navigation_item(context, *params, **kwargs):
"""Render navigation items."""
context["text"] = kwargs.pop("text")
context["link_name"] = kwargs.pop("link")
context["link"] = reverse(context["link_name"], kwargs=kwargs)
return render_to_string("_secondary_navigation_item.html", context)


@register.simple_tag(takes_context=True)
def tertiary_navigation_item(context, *params, **kwargs):
"""Render navigation items."""
context["text"] = kwargs.pop("text")
context["link_name"] = kwargs.pop("link")
context["link"] = reverse(context["link_name"], kwargs=kwargs)
return render_to_string("_tertiary_navigation_item.html", context)
6 changes: 3 additions & 3 deletions src/templates/_primary_navigation_item.html
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<li class="menu__item menu__item--with-icon main-header__padded {% if primary_nav == link %}menu__item--active{% endif %}">
<a href="{% url link %}" class="menu__item__icon plain-link"><i class="fa fa-{{icon}}"></i></a>
<a href="{% url link %}" class="menu__item__text plain-link">{{text}}</a>
<li class="menu__item menu__item--with-icon main-header__padded {% if primary_nav == link_name %}menu__item--active{% endif %}">
<a href="{{link}}" class="menu__item__icon plain-link"><i class="fa fa-{{icon}}"></i></a>
<a href="{{link}}" class="menu__item__text plain-link">{{text}}</a>
</li>
2 changes: 1 addition & 1 deletion src/templates/_secondary_navigation_item.html
Original file line number Diff line number Diff line change
@@ -1 +1 @@
<li><a class="secondary-navigation__link {% if secondary_nav == link %}secondary-navigation__link--active{% endif %}" href="{% url link %}">{{text}}</a></li>
<li><a class="secondary-navigation__link {% if secondary_nav == link_name %}secondary-navigation__link--active{% endif %}" href="{{link}}">{{text}}</a></li>
2 changes: 1 addition & 1 deletion src/templates/_tertiary_navigation_item.html
Original file line number Diff line number Diff line change
@@ -1 +1 @@
<li><a class="navigation-block__link {% if tertiary_nav == link %}navigation-block__link--active{% endif %}" href="{% url link %}">{{text}}</a></li>
<li><a class="navigation-block__link {% if tertiary_nav == link_name %}navigation-block__link--active{% endif %}" href="{{link}}">{{text}}</a></li>
3 changes: 2 additions & 1 deletion src/templates/admin/navigation_items/admin.html
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
{% load layout %}
{% if request.user.is_superuser %}
{% include "_primary_navigation_item.html" with link="admin" text="Admin" icon="cogs" %}
{% primary_navigation_item link="admin" text="Admin" icon="cogs" %}
{% endif %}
3 changes: 2 additions & 1 deletion src/templates/base.html
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{% load staticfiles %}
{% load happening_ganalytics %}
{% load plugins %}
{% load layout %}

<!DOCTYPE html>
<html>
Expand Down Expand Up @@ -47,7 +48,7 @@ <h2 class="main-header__heading main-header__padded">
<div class="l-container">
{% block secondary_navigation %}
<ul class="inline-list inline-list--space">
{% include "_secondary_navigation_item.html" with link="index" text="Home" %}
{% secondary_navigation_item link="index" text="Home" %}

{% plugin_block "happening.secondary_navigation" secondary_nav %}

Expand Down
9 changes: 5 additions & 4 deletions src/templates/events/base.html
Original file line number Diff line number Diff line change
@@ -1,15 +1,16 @@
{% load xextends %}
{% load plugins %}
{% load layout %}
{% xextends "base.html" with primary_nav="events" %}


{% block secondary_navigation %}
<ul class="inline-list inline-list--space">
{% include "_secondary_navigation_item.html" with link="events" text="Upcoming" %}
{% include "_secondary_navigation_item.html" with link="past_events" text="Past" %}
{% include "_secondary_navigation_item.html" with link="event_feeds" text="Feeds" %}
{% secondary_navigation_item link="events" text="Upcoming" %}
{% secondary_navigation_item link="past_events" text="Past" %}
{% secondary_navigation_item link="event_feeds" text="Feeds" %}
{% if request.user.is_authenticated %}
{% include "_secondary_navigation_item.html" with link="my_tickets" text="My Tickets" %}
{% secondary_navigation_item link="my_tickets" text="My Tickets" %}
{% endif %}

{% plugin_block "events.secondary_navigation" secondary_nav %}
Expand Down
4 changes: 3 additions & 1 deletion src/templates/events/navigation_items/events.html
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
{% load plugins %}
{% load layout %}

{% with v="pages.configuration.NameOfEvents"|get_configuration %}
{% with vv=v|title|add:"s" %}
{% include "_primary_navigation_item.html" with link="events" text=vv icon="calendar" %}
{% primary_navigation_item link="events" text=vv icon="calendar" %}
{% endwith %}
{% endwith %}
9 changes: 5 additions & 4 deletions src/templates/members/base.html
Original file line number Diff line number Diff line change
@@ -1,21 +1,22 @@
{% load xextends %}
{% load plugins %}
{% load layout %}
{% xextends "base.html" with primary_nav="members" %}

{% block secondary_navigation %}
<ul class="inline-list inline-list--space">
{% with v="members.configuration.MembersListVisibility"|get_configuration %}
{% if not request.user.is_authenticated %}
{% if v == "all" %}
{% include "_secondary_navigation_item.html" with link="members" text="Members" %}
{% secondary_navigation_item link="members" text="Members" %}
{% endif %}
{% else %}
{% if v == "staff" and not request.user.is_staff %}
{% else %}
{% include "_secondary_navigation_item.html" with link="members" text="Members" %}
{% secondary_navigation_item link="members" text="Members" %}
{% endif %}
{% include "_secondary_navigation_item.html" with link="my_profile" text="My Profile" %}
{% include "_secondary_navigation_item.html" with link="my_settings" text="Settings" %}
{% secondary_navigation_item link="my_profile" text="My Profile" %}
{% secondary_navigation_item link="my_settings" text="Settings" %}
{% endif %}
{% endwith %}

Expand Down
8 changes: 5 additions & 3 deletions src/templates/members/navigation_items/members.html
Original file line number Diff line number Diff line change
@@ -1,15 +1,17 @@
{% load plugins %}
{% load layout %}

{% with v="members.configuration.MembersListVisibility"|get_configuration %}
{% if v == "all" %}
{% include "_primary_navigation_item.html" with link="members" text="Members" icon="user" %}
{% primary_navigation_item link="members" text="Members" icon="user" %}
{% else %}
{% if request.user.is_authenticated %}
{% if v == "staff" %}
{% if request.user.is_staff %}
{% include "_primary_navigation_item.html" with link="members" text="Members" icon="user" %}
{% primary_navigation_item link="members" text="Members" icon="user" %}
{% endif %}
{% else %}
{% include "_primary_navigation_item.html" with link="members" text="Members" icon="user" %}
{% primary_navigation_item link="members" text="Members" icon="user" %}
{% endif %}
{% endif %}
{% endif %}
Expand Down
5 changes: 3 additions & 2 deletions src/templates/notifications/base.html
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
{% load xextends %}
{% load layout %}

{% xextends "base.html" with primary_nav="notifications_list" %}

{% block secondary_navigation %}
<ul class="inline-list inline-list--space">
{% include "_secondary_navigation_item.html" with link="notifications_list" text="Notifications" %}
{% include "_secondary_navigation_item.html" with link="notifications_settings" text="Settings" %}
{% secondary_navigation_item link="notifications_list" text="Notifications" %}
{% secondary_navigation_item link="notifications_settings" text="Settings" %}
</ul>
{% endblock %}
4 changes: 3 additions & 1 deletion src/templates/pages/navigation_items/sign_in.html
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
{% load layout %}

{% if request.user.is_authenticated %}
<li class="menu__item menu__item--with-icon main-header__padded">
<a href="{% url "account_logout" %}" class="menu__item__icon plain-link"><i class="fa fa-sign-out"></i></a>
<a href="{% url "account_logout" %}" class="menu__item__text plain-link">Log Out</a>
</li>
{% else %}
{% include "_primary_navigation_item.html" with link="account_login" text="Log In" icon="sign-in" %}
{% primary_navigation_item link="account_login" text="Log In" icon="sign-in" %}
{% endif %}
4 changes: 3 additions & 1 deletion src/templates/staff/navigation_items/staff.html
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
{% load layout %}

{% if request.user.is_staff %}
{% include "_primary_navigation_item.html" with link="staff" text="Staff" icon="cogs" %}
{% primary_navigation_item link="staff" text="Staff" icon="cogs" %}
{% endif %}

0 comments on commit 363db73

Please sign in to comment.