132 lines
6.5 KiB
HTML
132 lines
6.5 KiB
HTML
|
<!DOCTYPE html>
|
||
|
<!--[if (gt IE 9)|!(IE)]><!--> <html class="no-js" lang="{{=T.accepted_language or 'en'}}"> <!--<![endif]-->
|
||
|
<head>
|
||
|
<meta charset="utf-8">
|
||
|
<!-- www.phpied.com/conditional-comments-block-downloads/ -->
|
||
|
<!-- Always force latest IE rendering engine
|
||
|
(even in intranet) & Chrome Frame
|
||
|
Remove this if you use the .htaccess -->
|
||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge{{=not request.is_local and ',chrome=1' or ''}}">
|
||
|
<!-- Mobile Viewport Fix
|
||
|
j.mp/mobileviewport & davidbcalhoun.com/2010/viewport-metatag
|
||
|
device-width: Occupy full width of the screen in its current orientation
|
||
|
initial-scale = 1.0 retains dimensions instead of zooming out if page height > device height
|
||
|
user-scalable = yes allows the user to zoom in -->
|
||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||
|
<title>{{=response.title or request.application}}</title>
|
||
|
<!-- http://dev.w3.org/html5/markup/meta.name.html -->
|
||
|
<meta name="application-name" content="{{=request.application}}">
|
||
|
<!-- Speaking of Google, don't forget to set your site up:
|
||
|
http://google.com/webmasters -->
|
||
|
<meta name="google-site-verification" content="">
|
||
|
<!-- include stylesheets -->
|
||
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"/>
|
||
|
<link rel="stylesheet" href="{{=URL('static','css/bootstrap.min.css')}}"/>
|
||
|
<link rel="stylesheet" href="{{=URL('static','css/web2py-bootstrap4.css')}}"/>
|
||
|
<link rel="shortcut icon" href="{{=URL('static','images/favicon.ico')}}" type="image/x-icon">
|
||
|
<link rel="apple-touch-icon" href="{{=URL('static','images/favicon.png')}}">
|
||
|
<!-- All JavaScript at the bottom, except for Modernizr which enables
|
||
|
HTML5 elements & feature detects -->
|
||
|
<script src="{{=URL('static','js/modernizr-2.8.3.min.js')}}"></script>
|
||
|
<!-- Favicons -->
|
||
|
{{include 'web2py_ajax.html'}} <!-- this includes jquery.js, calendar.js/.css and web2py.js -->
|
||
|
{{block head}}{{end}}
|
||
|
</head>
|
||
|
<body>
|
||
|
<div class="w2p_flash alert alert-dismissable">{{=response.flash or ''}}</div>
|
||
|
<!-- Navbar ======================================= -->
|
||
|
<nav class="navbar navbar-light navbar-expand-md bg-faded justify-content-center">
|
||
|
<a href="http://web2py.com" class="navbar-brand d-flex w-50 mr-auto">web2py</a>
|
||
|
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNavDropdown" aria-controls="navbarNavDropdown" aria-expanded="false" aria-label="Toggle navigation">
|
||
|
<span class="navbar-toggler-icon"></span>
|
||
|
</button>
|
||
|
<div class="navbar-collapse collapse w-100" id="navbarNavDropdown">
|
||
|
<ul class="navbar-nav w-100 justify-content-center">
|
||
|
{{for _item in response.menu or []:}}
|
||
|
{{if len(_item)<4 or not _item[3]:}}
|
||
|
<li class="nav-item {{if _item[1]:}}active{{pass}}">
|
||
|
<a class="nav-link" href="{{=_item[2]}}">{{=_item[0]}}</a>
|
||
|
</li>
|
||
|
{{else:}}
|
||
|
<li class="nav-item dropdown">
|
||
|
<a class="nav-link dropdown-toggle" href="{{=_item[2]}}" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">{{=_item[0]}}</a>
|
||
|
<div class="dropdown-menu">
|
||
|
{{for _subitem in _item[3]:}}
|
||
|
<a class="dropdown-item" href="{{=_subitem[2]}}">{{=_subitem[0]}}</a>
|
||
|
{{pass}}
|
||
|
</div>
|
||
|
</li>
|
||
|
{{pass}}
|
||
|
{{pass}}
|
||
|
</ul>
|
||
|
<form class="form-inline my-2 my-lg-0">
|
||
|
<input class="form-control mr-sm-2" type="text" placeholder="Search">
|
||
|
</form>
|
||
|
{{if 'auth' in globals():}}
|
||
|
<ul class="nav navbar-nav ml-auto w-100 justify-content-end">
|
||
|
<li class="nav-item dropdown">
|
||
|
<a class="nav-link dropdown-toggle" href="#" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||
|
{{if auth.user:}}{{=auth.user.first_name}}{{else:}}LOGIN{{pass}}
|
||
|
</a>
|
||
|
<div class="dropdown-menu dropdown-menu-right">
|
||
|
{{if auth.user:}}
|
||
|
<a class="dropdown-item" href="{{=URL('default','user/profile')}}">{{=T('Profile')}}</a>
|
||
|
{{if 'change_password' not in auth.settings.actions_disabled:}}
|
||
|
<a class="dropdown-item" href="{{=URL('default','user/change_password')}}">{{=T('Change Password')}}</a>
|
||
|
{{pass}}
|
||
|
<a class="dropdown-item" href="{{=URL('default','user/logout')}}">{{=T('Logout')}}</a>
|
||
|
{{else:}}
|
||
|
<a class="dropdown-item" href="{{=URL('default','user/login')}}">{{=T('Login')}}</a>
|
||
|
{{if 'register' not in auth.settings.actions_disabled:}}
|
||
|
<a class="dropdown-item" href="{{=URL('default','user/register')}}">{{=T('Sign up')}}</a>
|
||
|
{{pass}}
|
||
|
{{if 'retrieve_password' not in auth.settings.actions_disabled:}}
|
||
|
<a class="dropdown-item" href="{{=URL('default','user/retrieve_password')}}">{{=T('Lost Password')}}</a>
|
||
|
{{pass}}
|
||
|
{{pass}}
|
||
|
</div>
|
||
|
</li>
|
||
|
</ul>
|
||
|
{{pass}}
|
||
|
</div>
|
||
|
</nav>
|
||
|
|
||
|
<!-- Masthead ===================================== -->
|
||
|
{{block header}}
|
||
|
{{end}}
|
||
|
<!-- Main ========================================= -->
|
||
|
<!-- Begin page content -->
|
||
|
<div class="container-fluid main-container">
|
||
|
{{include}}
|
||
|
{{=response.toolbar() if response.show_toolbar else ''}}
|
||
|
</div>
|
||
|
|
||
|
{{block footer}} <!-- this is default footer -->
|
||
|
<footer class="footer container-fluid">
|
||
|
<div class="row">
|
||
|
<div class="col-md-12">
|
||
|
<div class="copyright pull-left">{{=T('Copyright')}} © {{=request.now.year}}</div>
|
||
|
<div id="poweredBy" class="pull-right">
|
||
|
{{=T('Powered by')}}
|
||
|
<a href="http://www.web2py.com/">web2py</a>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</footer>
|
||
|
{{end}}
|
||
|
<!-- The javascript =============================== -->
|
||
|
<script src="{{=URL('static','js/bootstrap.bundle.min.js')}}"></script>
|
||
|
<script src="{{=URL('static','js/web2py-bootstrap4.js')}}"></script>
|
||
|
{{block page_js}}{{end page_js}}
|
||
|
{{if response.google_analytics_id:}}
|
||
|
<!-- Analytics ==================================== -->
|
||
|
<script src="{{=URL('static','js/analytics.min.js')}}"></script>
|
||
|
<script type="text/javascript">
|
||
|
analytics.initialize({
|
||
|
'Google Analytics':{trackingId:'{{=response.google_analytics_id}}'}
|
||
|
});
|
||
|
</script>
|
||
|
{{pass}}
|
||
|
</body>
|
||
|
</html>
|