Skip to content

Commit 975badb

Browse files
committed
Add index page and final touches to navigation urls handling
Signed-off-by: Nir Izraeli <nirizr@gmail.com>
1 parent 9ba3327 commit 975badb

File tree

5 files changed

+43
-10
lines changed

5 files changed

+43
-10
lines changed

server/collab/templates/list.html

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{% extends "base.html" %}
2+
3+
{% block title %}
4+
Collaboration - Projects
5+
{% endblock %}
6+
7+
{% block content %}
8+
Projects!!1
9+
{% endblock %}

server/rematch/navigation.py

+22-9
Original file line numberDiff line numberDiff line change
@@ -2,31 +2,44 @@ class Menu:
22
active_url = None
33

44
def __init__(self, name, url=None, icon=None, *submenu, **kwargs):
5+
if self.active_url is None:
6+
raise RuntimeError("Active url is not set when menu item is created")
7+
58
self.name = name
69
self.icon = icon if icon else ''
7-
self.url = url if url else ''
10+
self.url = url
811
self.submenu = submenu
912
self.active = (url == self.active_url or
1013
any(sm.active for sm in self.submenu))
14+
print(self.name, self.url)
15+
16+
@classmethod
17+
def set_url(cls, url):
18+
cls.active_url = '' if url is None else url
1119

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

1624

1725
def navigation(request):
18-
Menu.active_url = request.resolver_match.url_name
19-
print(Menu.active_url)
20-
menu = [Menu("Dashboard", icon='fa-dashboard'),
26+
Menu.set_url(request.resolver_match.url_name)
27+
28+
menu = [Menu("Dashboard", 'index', icon='fa-dashboard'),
29+
2130
Menu("Collaboration", None, 'fa-cogs',
2231
Menu("Projects", url='project-list'),
2332
Menu("Files", url='file-list'),
2433
Menu("Tasks", url='task-list'),
25-
Menu("Instances", url='instance-list')),
34+
Menu("Instances", url='instance-list'))]
2635

27-
Menu("Account", None, 'fa-desktop',
28-
Menu("Your profile", url='profile'),
29-
# Menu("Settings", url='settings'),
30-
Menu("Logout", url='auth_logout'))]
36+
if request.user.is_authenticated():
37+
account = Menu("Account", None, 'fa-desktop',
38+
Menu("Your profile", url='profile'),
39+
# Menu("Settings", url='settings'),
40+
Menu("Logout", url='auth_logout'))
41+
else:
42+
account = Menu("Login", 'auth_login')
43+
menu.append(account)
3144

3245
return {'navigation': menu}

server/rematch/urls.py

+2
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,10 @@
1515
"""
1616
from django.conf.urls import url, include
1717
from django.contrib import admin
18+
from django.views.generic import TemplateView
1819

1920
urlpatterns = [
21+
url(r'^$', TemplateView.as_view(template_name="index.html"), name='index'),
2022
url(r'^admin/', admin.site.urls),
2123
url(r'^accounts/', include('accounts.urls')),
2224
url(r'^collab/', include('collab.urls')),

server/template/index.html

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{% extends "base.html" %}
2+
3+
{% block title %}
4+
Index
5+
{% endblock %}
6+
7+
{% block content %}
8+
This is the index page!
9+
{% endblock %}

server/template/sidebar.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ <h5 class="centered">{{ user.first_name }} {{ user.last_name }} </h5>
77

88
{% for menu in navigation %}
99
<li class="{{ menu.menu_class }}">
10-
<a href="{% if menu.url %}{% url menu.url %}i{% else %}javascript:;{% endif %}"{% if menu.active %} class="active"{% endif %}>
10+
<a href="{% if menu.url %}{% url menu.url %}{% else %}'javascript:;'{% endif %}"{% if menu.active %} class="active"{% endif %}>
1111
<i class="fa {{menu.icon}}"></i>
1212
<span>{{menu.name}}</span>
1313
</a>{% if menu.submenu %}

0 commit comments

Comments
 (0)