Made menu dynamic.

This commit is contained in:
2015-06-30 11:25:23 +01:00
parent 5c72f4d756
commit 782a847906
3 changed files with 17 additions and 9 deletions

View File

@@ -36,15 +36,13 @@
<span class="icon-bar"></span> <span class="icon-bar"></span>
<span class="icon-bar"></span> <span class="icon-bar"></span>
</button> </button>
<a class="navbar-brand" href="/comic/">CBReader</a> <a class="navbar-brand" href="/comic/">CBWebReader</a>
</div> </div>
<div id="navbar" class="collapse navbar-collapse"> <div id="navbar" class="collapse navbar-collapse">
<ul class="nav navbar-nav"> <ul class="nav navbar-nav">
{% block navbar %} {% for page, link in menu.menu_items.items %}
<li class="active"><a href="/comic/">Home</a></li> <li{% if menu.current_page = page %} class="active"{% endif %}><a href="{{ link }}">{{ page }}</a></li>
<li><a href="settings/">Settings</a></li> {% endfor %}
<li><a href="/logout/">Logout</a></li>
{% endblock %}
</ul> </ul>
</div><!--/.nav-collapse --> </div><!--/.nav-collapse -->
</div> </div>

View File

@@ -1,9 +1,18 @@
from django.utils.http import urlsafe_base64_encode from django.utils.http import urlsafe_base64_encode
from os import path from os import path
from collections import OrderedDict
import os import os
class Menu:
def __init__(self, page=''):
self.menu_items = OrderedDict()
self.menu_items['Browse'] = '/comic/'
self.menu_items['Settings'] = '/comic/settings/'
self.menu_items['Logout'] = '/logout/'
self.current_page = page
class Breadcrumb: class Breadcrumb:
def __init__(self): def __init__(self):
self.name = 'Home' self.name = 'Home'
@@ -15,7 +24,6 @@ class Breadcrumb:
def __unicode__(self): def __unicode__(self):
return self.name return self.name
def generate_breadcrumbs(comic_path): def generate_breadcrumbs(comic_path):
output = [Breadcrumb()] output = [Breadcrumb()]
prefix = '/comic/' prefix = '/comic/'
@@ -32,7 +40,6 @@ def generate_breadcrumbs(comic_path):
output.append(bc) output.append(bc)
return output return output
def get_ordered_dir_list(folder): def get_ordered_dir_list(folder):
directories = [] directories = []
files = [] files = []

View File

@@ -7,7 +7,7 @@ from django.contrib.auth.decorators import login_required
from comic.models import Setting, ComicBook, ComicStatus from comic.models import Setting, ComicBook, ComicStatus
from util import generate_breadcrumbs from util import generate_breadcrumbs
from forms import SettingsForm from forms import SettingsForm
from util import Menu
from os import path from os import path
@login_required @login_required
@@ -25,6 +25,7 @@ def comic_list(request, comic_path=''):
context = RequestContext(request, { context = RequestContext(request, {
'file_list': files, 'file_list': files,
'breadcrumbs': breadcrumbs, 'breadcrumbs': breadcrumbs,
'menu': Menu('Browse'),
}) })
return render(request, 'comic/comic_list.html', context) return render(request, 'comic/comic_list.html', context)
@@ -58,6 +59,7 @@ def settings_page(request):
context = RequestContext(request, { context = RequestContext(request, {
'error_message': error_message, 'error_message': error_message,
'form': form, 'form': form,
'menu': Menu('Settings')
}) })
return render(request, 'comic/settings_page.html', context) return render(request, 'comic/settings_page.html', context)
@@ -82,6 +84,7 @@ def read_comic(request, comic_path, page):
'orig_file_name': book.page_name(page), 'orig_file_name': book.page_name(page),
'nav': book.nav(comic_path, page), 'nav': book.nav(comic_path, page),
'breadcrumbs': breadcrumbs, 'breadcrumbs': breadcrumbs,
'menu': Menu()
}) })
return render(request, 'comic/read_comic.html', context) return render(request, 'comic/read_comic.html', context)