mirror of
https://github.com/ajurna/cbwebreader.git
synced 2025-12-06 06:17:17 +00:00
Made menu dynamic.
This commit is contained in:
@@ -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>
|
||||||
|
|||||||
@@ -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 = []
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user