Commit e5230891db71fb2ed7fb0497ed05e59886d14187

Authored by hitier
1 parent a6745c24

Add bootstrap imports, and set right navbar

app/static/css/style.css 0 โ†’ 100644
... ... @@ -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 +}
... ...
app/static/img/pdc.ico 0 โ†’ 100644
No preview for this file type
app/static/img/pdc.png 0 โ†’ 100644

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>
... ...
resources/pdc.svg 0 โ†’ 100644
... ... @@ -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>
... ...