base.html 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  1. {% load static %}
  2. <!DOCTYPE html>
  3. <html lang="fr" class="h-100">
  4. <head>
  5. <meta charset="utf-8">
  6. <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
  7. <meta name="keywords" content="{%if page.p_mots_clefs%}{{page.p_mots_clefs}}{% endif %}">
  8. <meta name="description" content="{% if page.p_description %}{{page.p_description}}{% endif %}">
  9. {% block add_meta_description %}{% endblock %}
  10. <title>{% if page.p_meta_title %}GestClin - {{page.p_meta_title}}{% elif page.p_titre %}GestClin - {{page.p_titre}}{% else %}Portail du Service Informatique{% endif %}</title>
  11. <link rel="shortcut icon" href="/static/favicon.ico">
  12. <link rel="stylesheet" href="/static/css/jquery-ui.css">
  13. <link href="/static/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-+0n0xVW2eSR5OomGNYDnhzAbDsOXxcvSN1TPprVMTNDbiYZCxYbOOl7+AMvyTG2x" crossorigin="anonymous">
  14. <script src="https://kit.fontawesome.com/7cf2a101ac.js"></script>
  15. <style type="text/css">
  16. @font-face {
  17. font-family: Omnes;
  18. src: url('{% static 'fonts/Omnes.ttf'%}');
  19. }
  20. img {
  21. display: block;
  22. max-width: 100%;
  23. height: auto;
  24. }
  25. body {
  26. background-color:black;
  27. background-image: url('{% static 'Logo_ELSAN_HPGN_HOPITAL-PRIVE-NANCY-LORRAINE.png'%}'), url('{% static 'background_noel-2023.jpg'%}') ;
  28. background-position: 96% 95%, center ;
  29. background-size: 20%,cover;
  30. background-repeat: no-repeat;
  31. background-attachment: fixed;
  32. font-size: 15px;
  33. }
  34. .h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
  35. font-family: Omnes;
  36. font-weight: bold;
  37. }
  38. </style>
  39. </head>
  40. <body class="d-flex flex-column h-100">
  41. <header style="color: #fff; font-family: Omnes;">
  42. <nav class="navbar navbar-expand-lg navbar-dark" style="background-color: #093554;">
  43. <div class="container-fluid">
  44. <div class="collapse navbar-collapse" id="navbarSupportedContent">
  45. <a href="/" class="text-reset text-decoration-none"><i class="fas fa-file-medical-alt"></i>&nbsp;GestClin</a>&nbsp;|&nbsp;
  46. {% if page.p_menu_haut %}
  47. <ul class="navbar-nav mr-auto">
  48. {% regroup page.p_menu_haut by p_menu_parent as menu_with_parent %}
  49. {% for p_menu_parent in menu_with_parent%}
  50. {% if p_menu_parent.grouper != none %}
  51. <div class="navbar-nav dropdown">
  52. <a class="nav-link dropdown-toggle mr-5" href="#" id="navbarDropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><i class="fas fa-bars" ></i> {{ p_menu_parent.grouper }}</a>
  53. <div class="dropdown-menu" style="margin-top: 28px; margin-left: 5px;" aria-labelledby="navbarDropdownMenuLink">
  54. {% for item in p_menu_parent.list|dictsortreversed:"p_menu_poid" %}
  55. <a class="dropdown-item" {%if item.p_type == "lien_ext" %}target="_blank"{% endif %} href="{{item.p_adresse}}">{% if item.p_icone %}<i class="{{item.p_icone}}" ></i> {% endif %}{{item.p_titre}}</a></li>
  56. {% endfor %}
  57. </div>
  58. </div>
  59. {% else %}
  60. {% for item in p_menu_parent.list %}
  61. <li class="nav-item"><a class="nav-link" {%if item.p_type == "lien_ext" %}target="_blank"{% endif %} href="{{item.p_adresse}}">{% if item.p_icone %}<i class="{{item.p_icone}}" ></i> {% endif %}{{item.p_titre}}</a></li>
  62. {% endfor %}
  63. {% endif %}
  64. {% endfor %}
  65. </ul>
  66. {% endif %}
  67. <div class="navbar-nav dropdown">
  68. <a class="nav-link dropdown-toggle mr-5" href="#" id="navbarDropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><i class="fas fa-id-badge" ></i> Mon profil</a>
  69. <div class="dropdown-menu" style="margin-top: 28px; margin-left: 5px;" aria-labelledby="navbarDropdownMenuLink">
  70. {% if not request.user.is_authenticated %}
  71. <a class="dropdown-item" href="{% url 'core_login' %}" ><i class="fas fa-sign-in-alt"></i> Connexion</a>
  72. {% elif request.user.is_authenticated %}
  73. <a class="dropdown-item" href="{% url 'admin:index' %}" ><i class="fas fa-cog" ></i> Admin</a>
  74. <a class="dropdown-item" href="{% url 'core_logout' %}" ><i class="fas fa-sign-out-alt"></i> Déconexion</a>
  75. {% endif %}
  76. </div>
  77. </div>
  78. </div>
  79. <div class="pos-f-t d-lg-none justify-content-end">
  80. <div class="collapse" id="navbarToggleExternalContent">
  81. <div class="p-3" style="background-color: #093554;">
  82. {% if page.p_menu_haut %}
  83. <ul class="navbar-nav">
  84. {% for item in page.p_menu_haut %}
  85. <li class="nav-item"><a class="nav-link" {%if item.p_type == "lien_ext" %}target="_blank"{% endif %} href="{{item.p_adresse}}">{% if item.p_icone %}<i class="{{item.p_icone}}" ></i> {% endif %}{{item.p_titre}}</a></li>
  86. {% endfor %}
  87. <hr>
  88. {% if not request.user.is_authenticated %}
  89. <li class="nav-item"><a class="nav-link" href="{% url 'core_login' %}" ><i class="fas fa-sign-in-alt"></i> Connexion</a></li>
  90. {% elif request.user.is_authenticated %}
  91. <li class="nav-item"><a class="nav-link" href="{% url 'admin:index' %}" ><i class="fas fa-cog" ></i> Admin</a></li>
  92. <li class="nav-item"><a class="nav-link" href="{% url 'core_logout' %}" ><i class="fas fa-sign-out-alt"></i> Déconexion</a></li>
  93. {% endif %}
  94. </ul>
  95. {% endif %}
  96. </div>
  97. </div>
  98. <nav class="navbar navbar-dark" style="background-color: #093554;">
  99. <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarToggleExternalContent" aria-controls="navbarToggleExternalContent" aria-expanded="false" aria-label="Toggle navigation">
  100. <span class="navbar-toggler-icon"></span>
  101. </button>
  102. </nav>
  103. </div>
  104. </div>
  105. </nav>
  106. </header>
  107. <main role="main" class="flex-shrink-0">
  108. <div class="container-fluid mw-100">
  109. <div class="row p-2">
  110. {% block left_panel %}
  111. {% endblock %}
  112. <div class="col-lg-9 p-0">
  113. {% if messages %}
  114. <div class="card-body messages p-0 mr-3 ml-3">
  115. {% for message in messages %}
  116. <div class="m-2 alert alert-dismissable alert-{{ message.tags }}" data-alert="alert">
  117. <button type="button" class="close" data-dismiss="alert" >&times;</button>
  118. {{ message }}
  119. </div>
  120. {% endfor %}
  121. </div>
  122. {% endif %}
  123. <div class="card" style="background-color: rgba(250,250,250,0.88);" >
  124. {% if page.p_see_title_and_des_in_templates == True %}
  125. <div class="card-header">
  126. <h2>{% block title %}{% if page.p_icone != "" %}<i class="{{page.p_icone}}"></i> {% endif %}{{page.p_titre|safe}}{% endblock %}</h2>
  127. </div>
  128. {% endif %}
  129. {% if page.p_include %}
  130. {% include page.p_include %}
  131. {% else %}
  132. {% block main %}{% endblock %}
  133. {% endif %}
  134. </div>
  135. </div>
  136. {% if not request.user.is_authenticated or page.p_right %}
  137. <div class="col-lg-3">
  138. <div class="card" style="background-color: rgba(250,250,250,0.88);" >
  139. {% block right_panel %}
  140. {% endblock %}
  141. </div>
  142. </div>
  143. {% endif %}
  144. </div>
  145. </div>
  146. </main>
  147. <footer class="footer mt-auto py-3 text-white" style="background-color: rgba(45, 57, 72, 0.91);">
  148. <div class="container">
  149. {% if page.p_menu_pied %}
  150. {% for item in page.p_menu_pied %}
  151. <a class="link-light" href="{{item.p_adresse}}">{{item.p_titre}}</a>{% if not forloop.last %}, {% endif %}
  152. {% endfor %}
  153. {% endif %}
  154. </div>
  155. </footer>
  156. {% block modals %}{% endblock %}
  157. <script src="/static/js/jquery-3.6.0.js"></script>
  158. <script src="/static/js/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
  159. <script src="/static/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
  160. {% block script %}
  161. {% endblock %}
  162. </body>
  163. </html>