base.html 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  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. }
  33. .h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
  34. font-family: Omnes;
  35. font-weight: bold;
  36. }
  37. </style>
  38. </head>
  39. <body class="d-flex flex-column h-100">
  40. <header style="color: #fff; font-family: Omnes;">
  41. <nav class="navbar navbar-expand-lg navbar-dark" style="background-color: #093554;">
  42. <div class="container-fluid">
  43. <div class="collapse navbar-collapse" id="navbarSupportedContent">
  44. <a href="/" class="text-reset text-decoration-none"><i class="fas fa-file-medical-alt"></i>&nbsp;GestClin</a>&nbsp;|&nbsp;
  45. {% if page.p_menu_haut %}
  46. <ul class="navbar-nav mr-auto">
  47. {% regroup page.p_menu_haut by p_menu_parent as menu_with_parent %}
  48. {% for p_menu_parent in menu_with_parent %}
  49. {% if p_menu_parent.grouper != none %}
  50. <div class="navbar-nav dropdown">
  51. <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>
  52. <div class="dropdown-menu" style="margin-top: 28px; margin-left: 5px;" aria-labelledby="navbarDropdownMenuLink">
  53. {% for item in p_menu_parent.list %}
  54. <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>
  55. {% endfor %}
  56. </div>
  57. </div>
  58. {% else %}
  59. {% for item in p_menu_parent.list %}
  60. <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>
  61. {% endfor %}
  62. {% endif %}
  63. {% endfor %}
  64. </ul>
  65. {% endif %}
  66. <div class="navbar-nav dropdown">
  67. <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>
  68. <div class="dropdown-menu" style="margin-top: 28px; margin-left: 5px;" aria-labelledby="navbarDropdownMenuLink">
  69. {% if not request.user.is_authenticated %}
  70. <a class="dropdown-item" href="{% url 'core_login' %}" ><i class="fas fa-sign-in-alt"></i> Connexion</a>
  71. {% elif request.user.is_authenticated %}
  72. <a class="dropdown-item" href="{% url 'admin:index' %}" ><i class="fas fa-cog" ></i> Admin</a>
  73. <a class="dropdown-item" href="{% url 'core_logout' %}" ><i class="fas fa-sign-out-alt"></i> Déconexion</a>
  74. {% endif %}
  75. </div>
  76. </div>
  77. </div>
  78. <div class="pos-f-t d-lg-none justify-content-end">
  79. <div class="collapse" id="navbarToggleExternalContent">
  80. <div class="p-3" style="background-color: #093554;">
  81. {% if page.p_menu_haut %}
  82. <ul class="navbar-nav">
  83. {% for item in page.p_menu_haut %}
  84. <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>
  85. {% endfor %}
  86. <hr>
  87. {% if not request.user.is_authenticated %}
  88. <li class="nav-item"><a class="nav-link" href="{% url 'core_login' %}" ><i class="fas fa-sign-in-alt"></i> Connexion</a></li>
  89. {% elif request.user.is_authenticated %}
  90. <li class="nav-item"><a class="nav-link" href="{% url 'admin:index' %}" ><i class="fas fa-cog" ></i> Admin</a></li>
  91. <li class="nav-item"><a class="nav-link" href="{% url 'core_logout' %}" ><i class="fas fa-sign-out-alt"></i> Déconexion</a></li>
  92. {% endif %}
  93. </ul>
  94. {% endif %}
  95. </div>
  96. </div>
  97. <nav class="navbar navbar-dark" style="background-color: #093554;">
  98. <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarToggleExternalContent" aria-controls="navbarToggleExternalContent" aria-expanded="false" aria-label="Toggle navigation">
  99. <span class="navbar-toggler-icon"></span>
  100. </button>
  101. </nav>
  102. </div>
  103. </div>
  104. </nav>
  105. </header>
  106. <main role="main" class="flex-shrink-0">
  107. <div class="container-fluid mw-100">
  108. <div class="row p-2">
  109. {% block left_panel %}
  110. {% endblock %}
  111. <div class="col-lg-9 p-0">
  112. {% if messages %}
  113. <div class="card-body messages p-0 mr-3 ml-3">
  114. {% for message in messages %}
  115. <div class="m-2 alert alert-dismissable alert-{{ message.tags }}" data-alert="alert">
  116. <button type="button" class="close" data-dismiss="alert" >&times;</button>
  117. {{ message }}
  118. </div>
  119. {% endfor %}
  120. </div>
  121. {% endif %}
  122. <div class="card" style="background-color: rgba(250,250,250,0.88);" >
  123. {% if page.p_see_title_and_des_in_templates == True %}
  124. <div class="card-header">
  125. <h2>{% block title %}{% if page.p_icone != "" %}<i class="{{page.p_icone}}"></i> {% endif %}{{page.p_titre|safe}}{% endblock %}</h2>
  126. </div>
  127. {% endif %}
  128. {% if page.p_include %}
  129. {% include page.p_include %}
  130. {% else %}
  131. {% block main %}{% endblock %}
  132. {% endif %}
  133. </div>
  134. </div>
  135. {% if not request.user.is_authenticated or page.p_right %}
  136. <div class="col-lg-3">
  137. <div class="card" style="background-color: rgba(250,250,250,0.88);" >
  138. {% block right_panel %}
  139. {% endblock %}
  140. </div>
  141. </div>
  142. {% endif %}
  143. </div>
  144. </div>
  145. </main>
  146. <footer class="footer mt-auto py-3 text-white" style="background-color: rgba(45, 57, 72, 0.91);">
  147. <div class="container">
  148. {% if page.p_menu_pied %}
  149. {% for item in page.p_menu_pied %}
  150. <a class="link-light" href="{{item.p_adresse}}">{{item.p_titre}}</a>{% if not forloop.last %}, {% endif %}
  151. {% endfor %}
  152. {% endif %}
  153. </div>
  154. </footer>
  155. {% block modals %}{% endblock %}
  156. <script src="/static/js/jquery-3.6.0.js"></script>
  157. <script src="/static/js/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
  158. <script src="/static/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
  159. {% block script %}
  160. {% endblock %}
  161. </body>
  162. </html>