accountant/frontend/templates/layout.html

147 lines
6.2 KiB
HTML
Raw Normal View History

{#
This file is part of Accountant.
Accountant is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Foobar is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with Accountant. If not, see <http://www.gnu.org/licenses/>.
#}
<!DOCTYPE html>
<html lang="fr" ng-app="$strap">
<head>
<!-- Title -->
<title>Entries</title>
2013-12-06 20:36:26 +01:00
<!-- Awesome fonts -->
<link href="//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css" rel="stylesheet">
<!-- Bootstrap CSS -->
2013-12-06 20:36:26 +01:00
<link href="//netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap.min.css" rel="stylesheet">
<link href="//netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap-theme.min.css" rel="stylesheet">
<!-- Bootstrap datepicker plugin CSS -->
<link href="//cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.1.3/css/bootstrap-datepicker.min.css" rel="stylesheet">
<!-- NVD3 CSS -->
2013-12-06 20:36:26 +01:00
<link href="//cdnjs.cloudflare.com/ajax/libs/nvd3/1.1.13-beta/nv.d3.css" rel="stylesheet">
<!-- Pines Notify JQuery plugin -->
2013-12-03 21:34:40 +01:00
<link href="{{ url_for('frontend.static', filename='third-party/pines-notify/jquery.pnotify.default.css') }}" rel="stylesheet">
<!-- main css -->
2013-12-03 21:34:40 +01:00
<link href="{{ url_for('frontend.static', filename='css/main.css') }}" rel="stylesheet">
</head>
2013-12-06 20:36:26 +01:00
<body style="padding-bottom: 50px; padding-top: 70px">
<div class="navbar navbar-fixed-top navbar-inverse" role="navigation" ng-controller="AccountController">
<div class="navbar-header">
<a class="navbar-brand" href="/">&nbsp;Accountant</a>
</div>
2013-07-29 01:01:49 +02:00
<!-- Navbar with accounts and menu -->
2013-12-06 20:36:26 +01:00
<ul class="nav navbar-nav">
2013-07-30 09:07:11 +02:00
<li class="{% if request.path == '/index.html' %}active{% endif %}"><a href="index.html">Opérations</a></li>
<li class="{% if request.path == '/scheduler.html' %}active{% endif %}"><a href="scheduler.html">Planification</a></li>
<li class="divider-vertical"></li>
2013-07-29 01:01:49 +02:00
<!-- Account list -->
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">[[account.name]]&nbsp;(<span ng-class="valueClass(account, account.current)">[[account.current]]</span>&nbsp;/&nbsp;<span ng-class="valueClass(account, account.pointed)">[[account.pointed]]</span>)<b class="caret"></b></a>
<ul class="dropdown-menu">
<li class="dropdown-submenu" ng-class="accountClass(account)" ng-repeat="account in accounts">
<a ng-click="selectAccount(account)" href="#">[[account.name]](<span ng-class="valueClass(account, account.current)">[[account.current]]</span>&nbsp;/&nbsp;<span ng-class="valueClass(account, account.pointed)">[[account.pointed]]</span>)
<ul class="dropdown-menu">
2013-12-03 21:34:40 +01:00
<li><a href="#" ng-click="editAccount(account)" bs-modal="'{{ url_for('frontend.static', filename='templates/account_edit.html') }}'">Modifier</a></li>
<li><a href="#" bs-modal="'{{ url_for('frontend.static', filename='templates/account_remove.html') }}'">Supprimer</a></li>
2013-07-29 01:01:49 +02:00
</ul>
</a>
</li>
2013-07-29 01:01:49 +02:00
<li class="divider"></li>
<!-- New account button -->
2013-12-03 21:34:40 +01:00
<li><a bs-modal="'{{ url_for('frontend.static', filename='templates/account_new.html') }}'" href="#">Ajouter un compte</a></li>
2013-07-29 01:01:49 +02:00
</ul>
</li>
</ul><!-- nav -->
</div>
2013-07-29 01:01:49 +02:00
</div>
2013-12-06 20:36:26 +01:00
<div class="container">
<div class="row">
2013-07-29 01:01:49 +02:00
{% block body %}{% endblock %}
</div>
</div>
{% block footer %}{% endblock %}
<!-- JQuery Javascript library -->
<script type="text/javascript" src="http://code.jquery.com/jquery-2.0.3.min.js"></script>
<!-- Bootstrap Javascript library -->
2013-12-06 20:36:26 +01:00
<script type="text/javascript" src="//netdna.bootstrapcdn.com/bootstrap/3.0.3/js/bootstrap.min.js"></script>
2013-07-29 01:01:49 +02:00
<!-- Bootstrap datepicker module -->
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.0.2/js/bootstrap-datepicker.min.js"></script>
<!-- Angular Javascript library -->
2013-12-06 20:36:26 +01:00
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.3/angular.min.js"></script>
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/angular-strap/0.7.4/angular-strap.js"></script>
<!-- D3 Plotting framework -->
2013-12-06 20:36:26 +01:00
<script type="text/javascript" src="//d3js.org/d3.v3.min.js"></script>
<!-- NVD3 framework -->
2013-12-06 20:36:26 +01:00
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/nvd3/1.1.13-beta/nv.d3.js"></script>
<!-- Pines Notify JQuery plugin -->
2013-12-03 21:34:40 +01:00
<script type="text/javascript" src="{{ url_for('frontend.static', filename='third-party/pines-notify/jquery.pnotify.min.js') }}"></script>
<!-- Custom Javascript library for entries -->
{% block js %}{% endblock %}
<script type="text/javascript">
2013-07-30 21:29:47 +02:00
angular.module('$strap').config(function($interpolateProvider, $httpProvider) {
$interpolateProvider.startSymbol('[[');
$interpolateProvider.endSymbol(']]');
$httpProvider.responseInterceptors.push(['$rootScope', '$q', function(scope, $q) {
function success(response) {
2013-12-06 20:36:26 +01:00
console.debug(response)
if(response.data.ok == false) {
return $q.reject(response)
}
// TODO Intercept validation error.
2013-07-30 21:29:47 +02:00
return response;
}
function error(response) {
2013-12-06 20:36:26 +01:00
// TODO Intercept Authentication Required error
2013-07-30 21:29:47 +02:00
$.pnotify({
type: "error",
title: response.data.title,
text: response.data.text,
2013-07-31 01:22:28 +02:00
width: 300
2013-07-30 21:29:47 +02:00
})
return $q.reject(response);
}
return function(promise) {
return promise.then(success, error);
}
}]);
});
</script>
</body>
</html>