Skip to content

Commit

Permalink
Add index page and final touches to navigation urls handling
Browse files Browse the repository at this point in the history
Signed-off-by: Nir Izraeli <nirizr@gmail.com>
  • Loading branch information
nirizr committed Feb 4, 2017
1 parent 9ba3327 commit 19acab5
Show file tree
Hide file tree
Showing 5 changed files with 44 additions and 11 deletions.
9 changes: 9 additions & 0 deletions server/collab/templates/list.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{% extends "base.html" %}

{% block title %}
Collaboration - Projects
{% endblock %}

{% block content %}
Projects!!1
{% endblock %}
33 changes: 23 additions & 10 deletions server/rematch/navigation.py
Original file line number Diff line number Diff line change
@@ -1,32 +1,45 @@
class Menu:
active_url = None

def __init__(self, name, url=None, icon=None, *submenu, **kwargs):
def __init__(self, name, url=None, icon=None, *submenu):
if self.active_url is None:
raise RuntimeError("Active url is not set when menu item is created")

self.name = name
self.icon = icon if icon else ''
self.url = url if url else ''
self.url = url
self.submenu = submenu
self.active = (url == self.active_url or
any(sm.active for sm in self.submenu))
print(self.name, self.url)

@classmethod
def set_url(cls, url):
cls.active_url = '' if url is None else url

@property
def menu_class(self):
return 'sub-menu' if self.submenu else 'mf'


def navigation(request):
Menu.active_url = request.resolver_match.url_name
print(Menu.active_url)
menu = [Menu("Dashboard", icon='fa-dashboard'),
Menu.set_url(request.resolver_match.url_name)

menu = [Menu("Dashboard", 'index', icon='fa-dashboard'),

Menu("Collaboration", None, 'fa-cogs',
Menu("Projects", url='project-list'),
Menu("Files", url='file-list'),
Menu("Tasks", url='task-list'),
Menu("Instances", url='instance-list')),
Menu("Instances", url='instance-list'))]

Menu("Account", None, 'fa-desktop',
Menu("Your profile", url='profile'),
# Menu("Settings", url='settings'),
Menu("Logout", url='auth_logout'))]
if request.user.is_authenticated():
account = Menu("Account", None, 'fa-desktop',
Menu("Your profile", url='profile'),
# Menu("Settings", url='settings'),
Menu("Logout", url='auth_logout'))
else:
account = Menu("Login", 'auth_login')
menu.append(account)

return {'navigation': menu}
2 changes: 2 additions & 0 deletions server/rematch/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,10 @@
"""
from django.conf.urls import url, include
from django.contrib import admin
from django.views.generic import TemplateView

urlpatterns = [
url(r'^$', TemplateView.as_view(template_name="index.html"), name='index'),
url(r'^admin/', admin.site.urls),
url(r'^accounts/', include('accounts.urls')),
url(r'^collab/', include('collab.urls')),
Expand Down
9 changes: 9 additions & 0 deletions server/template/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{% extends "base.html" %}

{% block title %}
Index
{% endblock %}

{% block content %}
This is the index page!
{% endblock %}
2 changes: 1 addition & 1 deletion server/template/sidebar.html
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ <h5 class="centered">{{ user.first_name }} {{ user.last_name }} </h5>

{% for menu in navigation %}
<li class="{{ menu.menu_class }}">
<a href="{% if menu.url %}{% url menu.url %}i{% else %}javascript:;{% endif %}"{% if menu.active %} class="active"{% endif %}>
<a href="{% if menu.url %}{% url menu.url %}{% else %}'javascript:;'{% endif %}"{% if menu.active %} class="active"{% endif %}>
<i class="fa {{menu.icon}}"></i>
<span>{{menu.name}}</span>
</a>{% if menu.submenu %}
Expand Down

0 comments on commit 19acab5

Please sign in to comment.