Make template handle columns, stop using many different versions

* adjust template to remove nav and top menu for first boot
 * base on login_nav.tmpl
 * add login and nav to template
 * no need for two_cols, don't populate nav unless one exists
This commit is contained in:
James Vasile 2013-02-08 15:22:43 -05:00
parent 243ed3f64b
commit 557f8bbbfe
4 changed files with 55 additions and 33 deletions

View File

@ -118,17 +118,8 @@
<span class="icon-bar"></span>
</a>
<a href="$basehref/" class="logo-top"><img src="$basehref/static/theme/img/freedombox-logo-32px.png" alt="FreedomBox" /></a><a class="brand" href="$basehref/">FreedomBox Dashboard</a>
<div class="nav-collapse">
<script type="text/javascript">
<!--
main_menu(main_menu_items);
// -->
</script>
#if $username
<p class="navbar-text pull-right"><i class="icon-user icon-white nav-icon"></i>Logged in as <a href="$username">$username</a>. <a href="$basehref/auth/logout" title="Log out">Log out</a>.</p>
#else
<p class="navbar-text pull-right">Not logged in. <i class="icon-user icon-white nav-icon"></i><a href="$basehref/auth/login" title="Log in">Log in</a>.</p>
#end if
#block add_nav_and_login
#end block add_nav_and_login
</div><!--/.nav-collapse -->
</div>
</div>
@ -136,18 +127,26 @@
<div class="container-fluid">
<div class="row-fluid">
#if $nav or $sidebar_right or $sidebar_left
<div class="span3">
#if $nav
<div class="well sidebar-nav">
#block nav_block
$nav
#end block nav_block
#block sidebar_left_block
$sidebar_left
#end block sidebar_left_block
</div><!--/.well -->
</div><!--/span-->
#end if
#if $sidebar_left
<div class="well sidebar-nav">
left $sidebar_left
</div><!--/.well -->
#end if
#if $sidebar_right
<div class="well sidebar-nav">
$sidebar_right
</div><!--/.well -->
#end if
</div>
#end if
<div class="span9">
<div class="hero-unit">
<div class="hero-unit" class="pull-left">
<h2>
#block title_block
$title
@ -157,15 +156,6 @@
$main
#end block main_block
</div>
<div class="row-fluid">
<div class="span8 alert alert-info">
#block sidebar_right_block
$sidebar_right
#end block sidebar_right_block
</div><!--/span-->
</div><!--/row-->
</div><!--/span-->
</div><!--/row-->

View File

@ -1,4 +1,4 @@
#extends templates.two_col
#extends templates.login_nav
#def title_block
<span class="label label-important error-large">Error: $title</span>

31
templates/login_nav.tmpl Normal file
View File

@ -0,0 +1,31 @@
#extends templates.base
#def add_nav_and_login
<div class="nav-collapse">
<script type="text/javascript">
<!--
main_menu(main_menu_items);
// -->
</script>
#if $username
<p class="navbar-text pull-right"><i class="icon-user icon-white nav-icon"></i>Logged in as <a href="$username">$username</a>. <a href="$basehref/auth/logout" title="Log out">Log out</a>.</p>
#else
<p class="navbar-text pull-right">Not logged in. <i class="icon-user icon-white nav-icon"></i><a href="$basehref/auth/login" title="Log in">Log in</a>.</p>
#end if
#end def
#def sidebar_left_block
$sidebar_left
#end def
#def main_block
$main
#end def
#def sidebar_right_block
$sidebar_right
#end def
#def nav_block
$nav
#end def

View File

@ -57,15 +57,15 @@ class Message():
def add(self, text):
self.text += "<br />%s" % text
def page_template(template='base', **kwargs):
def page_template(template='login_nav', **kwargs):
for k in ['sidebar_left', 'sidebar_right', 'main', 'js', 'onload', 'nav', 'css', 'title', 'basehref']:
if not k in kwargs:
kwargs[k] = ''
if kwargs['basehref'] == '':
kwargs['basehref'] = cfg.base_href
if template=='base' and kwargs['sidebar_right']=='':
template='two_col'
#if template=='base' and kwargs['sidebar_right']=='':
# template='two_col'
if isinstance(template, basestring):
exec ("from templates.%s import %s as template" % (template, template))
try:
@ -79,7 +79,8 @@ def page_template(template='base', **kwargs):
kwargs['current_url'] = cherrypy.url()
kwargs['username'] = cherrypy.session.get(cfg.session_key)
if not kwargs['nav']: kwargs['nav'] = """ <script type="text/javascript">
if not kwargs['nav'] and submenu:
kwargs['nav'] = """ <script type="text/javascript">
<!--
side_menu(sub_menu_items);
// -->