Commit e5230891db71fb2ed7fb0497ed05e59886d14187
1 parent
a6745c24
Exists in
master
and in
4 other branches
Add bootstrap imports, and set right navbar
Showing
5 changed files
with
251 additions
and
26 deletions
Show diff stats
... | ... | @@ -0,0 +1,39 @@ |
1 | +/*html {*/ | |
2 | +/* position: relative;*/ | |
3 | +/* min-height: 100%;*/ | |
4 | +/*}*/ | |
5 | + | |
6 | +/*body {*/ | |
7 | +/* margin-bottom: 60px; !* Margin bottom by footer height *!*/ | |
8 | +/*}*/ | |
9 | + | |
10 | +.footer { | |
11 | + position: absolute; | |
12 | + bottom: 0; | |
13 | + width: 100%; | |
14 | + height: 40px; /* Set the fixed height of the footer here */ | |
15 | + line-height: 60px; /* Vertically center the text there */ | |
16 | + /*background-color: #f5f5f5;*/ | |
17 | + margin-bottom: 20px; | |
18 | +} | |
19 | + | |
20 | + | |
21 | +/*.container {*/ | |
22 | +/* width: auto;*/ | |
23 | +/* max-width: 680px;*/ | |
24 | +/* padding: 0 15px;*/ | |
25 | +/*}*/ | |
26 | + | |
27 | +.sidebar { | |
28 | + position: fixed; | |
29 | + top: 0; | |
30 | + bottom: 0; | |
31 | + left: 0; | |
32 | + z-index: 100; /* Behind the navbar */ | |
33 | + padding: 0; | |
34 | + box-shadow: inset -1px 0 0 rgba(0, 0, 0, .1); | |
35 | +} | |
36 | +.sidebar .nav-link { | |
37 | + font-weight: 500; | |
38 | + color: #333; | |
39 | +} | ... | ... |
No preview for this file type
31.1 KB
app/templates/base_page.html
1 | 1 | <!doctype html> |
2 | 2 | <html lang="en"> |
3 | 3 | <head> |
4 | - <meta charset="utf-8"> | |
5 | - <meta content="width=device-width, initial-scale=1" name="viewport"> | |
6 | - <link href="{{ url_for('static', filename='css/bootstrap.min.css') }}" rel="stylesheet" type="text/css"/> | |
7 | - <title>{% if title %} {{title}} {% else %}Plan de Charge{%endif%}</title> | |
4 | + <meta charset="utf-8"> | |
5 | + <meta content="width=device-width, initial-scale=1" name="viewport"> | |
6 | + <link href="{{ url_for('static', filename='img/pdc.png') }}" rel="icon"/> | |
7 | + <link href="{{ url_for('static', filename='css/bootstrap.min.css') }}" rel="stylesheet" type="text/css"/> | |
8 | + <link href="{{ url_for('static', filename='css/style.css') }}" rel="stylesheet" type="text/css"/> | |
9 | + <title>{% if title %} {{title}} {% else %}Plan de Charge{%endif%}</title> | |
8 | 10 | </head> |
9 | 11 | <body> |
10 | 12 | |
11 | -<header> | |
12 | -</header> | |
13 | -<section> | |
13 | + <header> | |
14 | + </header> | |
14 | 15 | |
15 | - {% with messages = get_flashed_messages(with_categories=true) %} | |
16 | - {% if messages %} | |
17 | - <div id="messages"> | |
18 | - {% for level, message in messages %} | |
19 | - <div class="alert alert-{{level}}" role="alert">{{ message }}</div> | |
20 | - {% endfor %} | |
21 | - </div> | |
22 | - {% endif %} | |
23 | - {% endwith %} | |
16 | + <nav class="navbar navbar-dark sticky-top bg-dark flex-md-nowrap p-0"> | |
17 | + <a class="navbar-brand col-sm-3 col-md-2 mr-0" href="#">Plan de Charges</a> | |
18 | + <ul class="navbar-nav px-3"> | |
19 | + <li class="nav-item text-nowrap"> | |
20 | + <a class="nav-link" href="#">Sign out</a> | |
21 | + </li> | |
22 | + </ul> | |
23 | + </nav> | |
24 | + | |
25 | + <div class="container-fluid"> | |
26 | + <div class="row"> | |
27 | + <nav class="col-md-2 d-none d-md-block bg-light sidebar"> | |
28 | + <div class="sidebar-sticky"> | |
29 | + <ul class="nav flex-column"> | |
30 | + <li class="nav-item"> | |
31 | + <a class="nav-link active" href="#"> | |
32 | + <span data-feather="home"></span> | |
33 | + accueil | |
34 | + </a> | |
35 | + </li> | |
36 | + <li class="nav-item"> | |
37 | + <a aria-expanded="false" class="nav-link" data-target="#agent" data-toggle="collapse" href="#"> | |
38 | + <span data-feather="user"></span> | |
39 | + Agent | |
40 | + </a> | |
41 | + <ul aria-expanded="false" class="collapse" id="agent"> | |
42 | + <li><a class="text-muted" ref="#">Liste des agents</a></li> | |
43 | + <li><a class="text-muted" ref="#">Statistiques</a></li> | |
44 | + <li><a class="text-muted" ref="#">Liste des responsabilitรฉs</a></li> | |
45 | + <li><a class="text-muted" ref="#">Liste des fonctions</a></li> | |
46 | + <li><a class="text-muted" ref="#">Liste des compรฉtences</a></li> | |
47 | + <li><a class="text-muted" ref="#">Liste des pรดles</a></li> | |
48 | + <li><a class="text-muted" ref="#">Liste des emplois types</a></li> | |
49 | + </ul> | |
50 | + </li> | |
51 | + <li class="nav-item"> | |
52 | + <a aria-expanded="false" class="nav-link" data-target="#projet" data-toggle="collapse" href="#"> | |
53 | + <span data-feather="file"></span> | |
54 | + Projet | |
55 | + </a> | |
56 | + <ul aria-expanded="false" class="collapse" id="projet"> | |
57 | + <li><a class="text-muted" ref="#">Liste des projets</a></li> | |
58 | + <li><a class="text-muted" ref="#">Statistiques</a></li> | |
59 | + <li><a class="text-muted" ref="#">Listes des domaines</a></li> | |
60 | + <li><a class="text-muted" ref="#">Listes des statuts de projets</a></li> | |
61 | + </ul> | |
62 | + </li> | |
63 | + <li class="nav-item"> | |
64 | + <a aria-expanded="false" class="nav-link" data-target="#service" data-toggle="collapse" href="#"> | |
65 | + <span data-feather="home"></span> | |
66 | + Service | |
67 | + </a> | |
68 | + <ul aria-expanded="false" class="collapse" id="service"> | |
69 | + <li><a class="text-muted" ref="#">Liste des services</a></li> | |
70 | + <li><a class="text-muted" ref="#">Statistiques</a></li> | |
71 | + </ul> | |
72 | + </li> | |
73 | + <li class="nav-item"> | |
74 | + <a aria-expanded="false" class="nav-link" data-target="#cds" data-toggle="collapse" href="#"> | |
75 | + <span data-feather="users"></span> | |
76 | + Chef de service | |
77 | + </a> | |
78 | + <ul aria-expanded="false" class="collapse" id="cds"> | |
79 | + <li><a class="text-muted" ref="#">Renseigner le statut d'un agent pour un semestre</a></li> | |
80 | + <li><a class="text-muted" ref="#">Affecter un agent ร un projet/service</a></li> | |
81 | + <li><a class="text-muted" ref="#">Crรฉation agent virtuel</a></li> | |
82 | + <li><a class="text-muted" ref="#">Charge totale des agents</a></li> | |
83 | + <li><a class="text-muted" ref="#">Dรฉtails des charges</a></li> | |
84 | + <li><a class="text-muted" ref="#">Graphiques personnalisรฉs</a></li> | |
85 | + </ul> | |
86 | + </li> | |
87 | + <li class="nav-item"> | |
88 | + <a aria-expanded="false" class="nav-link" data-target="#admin" data-toggle="collapse" href="#"> | |
89 | + <span data-feather="settings"></span> | |
90 | + Administrateur | |
91 | + </a> | |
92 | + <ul aria-expanded="false" class="collapse" id="admin"> | |
93 | + | |
94 | + <li><a class="text-muted" href="#">Nouveau projet</a></li> | |
95 | + <li><a class="text-muted" href="#">Nouveau service</a></li> | |
96 | + <li><a class="text-muted" href="#">Nouvelle compรฉtence</a></li> | |
97 | + <li><a class="text-muted" href="#">Nouvelle fonction</a></li> | |
98 | + <li><a class="text-muted" href="#">Nouveau domaine</a></li> | |
99 | + <li><a class="text-muted" href="#">Nouvelle responsabilitรฉ</a></li> | |
100 | + <li><a class="text-muted" href="#">Affecter un responsable de projet</a></li> | |
101 | + <li><a class="text-muted" href="#">Affecter un responsable de service</a></li> | |
102 | + <li><a class="text-muted" href="#">Liste des semestres</a></li> | |
103 | + <li><a class="text-muted" href="#">Nouveau semestre</a></li> | |
24 | 104 | |
25 | - <div class="content"> | |
105 | + </ul> | |
106 | + </li> | |
107 | + </ul> | |
108 | + </div> | |
109 | + <footer class="footer"> | |
110 | + <div class="container"> | |
111 | + <p class="text-muted"> | |
112 | + ยฉ 2021 IRAP - Plan de Charge - <span>{{ config.VERSION }}</span> | |
113 | + </p> | |
114 | + </div> | |
115 | + </footer> | |
116 | + </nav> | |
26 | 117 | |
27 | - {% block content %}{% endblock %} | |
118 | + <main class="container" role="main"> | |
119 | + {% with messages = get_flashed_messages(with_categories=true) %} | |
120 | + {% if messages %} | |
121 | + <div id="messages"> | |
122 | + {% for level, message in messages %} | |
123 | + <div class="alert alert-{{level}}" role="alert">{{ message }}</div> | |
124 | + {% endfor %} | |
125 | + </div> | |
126 | + {% endif %} | |
127 | + {% endwith %} | |
128 | + | |
129 | + {%block content%} | |
130 | + {%endblock%} | |
131 | + </main> | |
28 | 132 | |
29 | 133 | </div> |
30 | -</section> | |
134 | + </div> | |
135 | + | |
136 | + | |
137 | + <!-- Begin page content --> | |
31 | 138 | |
32 | -<footer> | |
33 | - <p> | |
34 | - ยฉ 2020 IRAP - <a href="{{ url_for('main.index') }}" id="redirect">Plan de Charge</a> - <span>{{ config.VERSION }}</span> | |
35 | - </p> | |
36 | -</footer> | |
37 | 139 | |
38 | -<script type="text/javascript" src="{{ url_for('static', filename='js/jquery-3.6.0.min.js') }}"></script> | |
39 | -<script type="text/javascript" src="{{ url_for('static', filename='js/bootstrap.bundle.min.js') }}"></script> | |
140 | + <script src="{{ url_for('static', filename='js/jquery-3.6.0.min.js') }}" type="text/javascript"></script> | |
141 | + <script src="{{ url_for('static', filename='js/bootstrap.bundle.min.js') }}" type="text/javascript"></script> | |
142 | + <!-- Icons --> | |
143 | + <script src="https://unpkg.com/feather-icons/dist/feather.min.js"></script> | |
144 | + <script> | |
145 | + feather.replace() | |
146 | + </script> | |
40 | 147 | </body> |
41 | 148 | </html> | ... | ... |
... | ... | @@ -0,0 +1,79 @@ |
1 | +<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |
2 | +<!-- Created with Inkscape (http://www.inkscape.org/) --> | |
3 | + | |
4 | +<svg | |
5 | + xmlns:dc="http://purl.org/dc/elements/1.1/" | |
6 | + xmlns:cc="http://creativecommons.org/ns#" | |
7 | + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" | |
8 | + xmlns:svg="http://www.w3.org/2000/svg" | |
9 | + xmlns="http://www.w3.org/2000/svg" | |
10 | + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" | |
11 | + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" | |
12 | + width="210mm" | |
13 | + height="297mm" | |
14 | + viewBox="0 0 210 297" | |
15 | + version="1.1" | |
16 | + id="svg8" | |
17 | + inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)" | |
18 | + sodipodi:docname="pdc.svg" | |
19 | + inkscape:export-filename="/home/rhitier/00DEV/pdc-web/resources/pdc.png" | |
20 | + inkscape:export-xdpi="96" | |
21 | + inkscape:export-ydpi="96"> | |
22 | + <defs | |
23 | + id="defs2" /> | |
24 | + <sodipodi:namedview | |
25 | + id="base" | |
26 | + pagecolor="#ffffff" | |
27 | + bordercolor="#666666" | |
28 | + borderopacity="1.0" | |
29 | + inkscape:pageopacity="0.0" | |
30 | + inkscape:pageshadow="2" | |
31 | + inkscape:zoom="0.35" | |
32 | + inkscape:cx="-118.57143" | |
33 | + inkscape:cy="560" | |
34 | + inkscape:document-units="mm" | |
35 | + inkscape:current-layer="layer1" | |
36 | + showgrid="false" | |
37 | + inkscape:window-width="1856" | |
38 | + inkscape:window-height="1016" | |
39 | + inkscape:window-x="64" | |
40 | + inkscape:window-y="27" | |
41 | + inkscape:window-maximized="1" /> | |
42 | + <metadata | |
43 | + id="metadata5"> | |
44 | + <rdf:RDF> | |
45 | + <cc:Work | |
46 | + rdf:about=""> | |
47 | + <dc:format>image/svg+xml</dc:format> | |
48 | + <dc:type | |
49 | + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> | |
50 | + <dc:title></dc:title> | |
51 | + </cc:Work> | |
52 | + </rdf:RDF> | |
53 | + </metadata> | |
54 | + <g | |
55 | + inkscape:label="Layer 1" | |
56 | + inkscape:groupmode="layer" | |
57 | + id="layer1"> | |
58 | + <g | |
59 | + id="g4580"> | |
60 | + <circle | |
61 | + style="stroke-width:2.5;fill:#0000a2;fill-opacity:0.89705884;stroke-miterlimit:4;stroke-dasharray:none;stroke:#000000;stroke-opacity:1" | |
62 | + r="64.255951" | |
63 | + cy="158.66071" | |
64 | + cx="117.92857" | |
65 | + id="path3713" /> | |
66 | + <text | |
67 | + id="text3721" | |
68 | + y="177.67082" | |
69 | + x="58.354107" | |
70 | + style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:53.48649979px;line-height:24.25;font-family:aakar;-inkscape-font-specification:'aakar Medium';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:2.27517653;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" | |
71 | + xml:space="preserve"><tspan | |
72 | + style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:53.48649979px;line-height:24.25;font-family:FreeSans;-inkscape-font-specification:'FreeSans Semi-Bold';text-align:start;text-anchor:start;fill:#ffffff;stroke:#000000;stroke-width:2.27517653;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" | |
73 | + y="177.67082" | |
74 | + x="58.354107" | |
75 | + id="tspan3719" | |
76 | + sodipodi:role="line">PDC</tspan></text> | |
77 | + </g> | |
78 | + </g> | |
79 | +</svg> | ... | ... |