mirror of
https://github.com/ajurna/cbwebreader.git
synced 2025-12-06 14:17:19 +00:00
Made menu dynamic.
This commit is contained in:
@@ -36,15 +36,13 @@
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<a class="navbar-brand" href="/comic/">CBReader</a>
|
||||
<a class="navbar-brand" href="/comic/">CBWebReader</a>
|
||||
</div>
|
||||
<div id="navbar" class="collapse navbar-collapse">
|
||||
<ul class="nav navbar-nav">
|
||||
{% block navbar %}
|
||||
<li class="active"><a href="/comic/">Home</a></li>
|
||||
<li><a href="settings/">Settings</a></li>
|
||||
<li><a href="/logout/">Logout</a></li>
|
||||
{% endblock %}
|
||||
{% for page, link in menu.menu_items.items %}
|
||||
<li{% if menu.current_page = page %} class="active"{% endif %}><a href="{{ link }}">{{ page }}</a></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div><!--/.nav-collapse -->
|
||||
</div>
|
||||
|
||||
@@ -1,9 +1,18 @@
|
||||
from django.utils.http import urlsafe_base64_encode
|
||||
|
||||
from os import path
|
||||
from collections import OrderedDict
|
||||
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:
|
||||
def __init__(self):
|
||||
self.name = 'Home'
|
||||
@@ -15,7 +24,6 @@ class Breadcrumb:
|
||||
def __unicode__(self):
|
||||
return self.name
|
||||
|
||||
|
||||
def generate_breadcrumbs(comic_path):
|
||||
output = [Breadcrumb()]
|
||||
prefix = '/comic/'
|
||||
@@ -32,7 +40,6 @@ def generate_breadcrumbs(comic_path):
|
||||
output.append(bc)
|
||||
return output
|
||||
|
||||
|
||||
def get_ordered_dir_list(folder):
|
||||
directories = []
|
||||
files = []
|
||||
|
||||
@@ -7,7 +7,7 @@ from django.contrib.auth.decorators import login_required
|
||||
from comic.models import Setting, ComicBook, ComicStatus
|
||||
from util import generate_breadcrumbs
|
||||
from forms import SettingsForm
|
||||
|
||||
from util import Menu
|
||||
from os import path
|
||||
|
||||
@login_required
|
||||
@@ -25,6 +25,7 @@ def comic_list(request, comic_path=''):
|
||||
context = RequestContext(request, {
|
||||
'file_list': files,
|
||||
'breadcrumbs': breadcrumbs,
|
||||
'menu': Menu('Browse'),
|
||||
})
|
||||
return render(request, 'comic/comic_list.html', context)
|
||||
|
||||
@@ -58,6 +59,7 @@ def settings_page(request):
|
||||
context = RequestContext(request, {
|
||||
'error_message': error_message,
|
||||
'form': form,
|
||||
'menu': Menu('Settings')
|
||||
})
|
||||
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),
|
||||
'nav': book.nav(comic_path, page),
|
||||
'breadcrumbs': breadcrumbs,
|
||||
'menu': Menu()
|
||||
})
|
||||
return render(request, 'comic/read_comic.html', context)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user