parc_info_user_index.html 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. {% extends 'base.html' %}
  2. {% load crispy_forms_tags %}
  3. {% load static %}
  4. {% block modals%}
  5. <div class="modal" id="mo_user_get_info" tabindex="-1" role="dialog"></div>
  6. <div class="modal" id="mo_user_edit_info" data-backdrop="static" tabindex="-1" role="dialog"></div>
  7. <div class="modal" id="mo_services_info" tabindex="-1" role="dialog">
  8. <div class="modal-dialog modal-sm" role="document">
  9. <div class="modal-content">
  10. <div class="modal-header">
  11. <h5 class="modal-title" id="mo_services_info">Les services</h5>
  12. <button type="button" class="btn btn-sm btn-dark close" data-dismiss="modal" aria-label="Close">
  13. <span aria-hidden="true">&times;</span>
  14. </button>
  15. </div>
  16. <div class="modal-body">
  17. <table class="table table-sm">
  18. <tbody>
  19. {% for item in services%}
  20. <tr><td>{{item.SERVICE_Anag}}</td><td>{{item.SERVICE_Nom}}</td></tr>
  21. {% endfor %}
  22. </tbody>
  23. </table>
  24. </div>
  25. </div>
  26. </div>
  27. </div>
  28. {% endblock %}
  29. {% block script %}
  30. <script type="text/javascript">
  31. function user_get_list() {
  32. var $list_user_get_list = $('#user_get_list');
  33. var get_search = document.getElementById("id_PSearch").value
  34. if (get_search.length >= 3) {
  35. $list_user_get_list.html('<h3> <i class="fas fa-spinner fa-pulse fa-fw"></i> Loading...</h3>');
  36. $.ajax({
  37. type : 'GET',
  38. url: '/parc/api/clients/get_list?get_search='+get_search,
  39. success: function(feeds) {
  40. $list_user_get_list.html(feeds);
  41. }
  42. });
  43. }
  44. if (get_search.length == "") {
  45. $list_user_get_list.html('<h3> <i class="fas fa-spinner fa-pulse fa-fw"></i> Loading...</h3>');
  46. $.ajax({
  47. type : 'GET',
  48. url: '/parc/api/clients/get_list',
  49. success: function(feeds) {
  50. $list_user_get_list.html(feeds);
  51. }
  52. });
  53. }
  54. };
  55. function bt_get_user_info(id){
  56. $.ajax({
  57. type : 'GET',
  58. url: '/parc/api/clients/get_user/'+id,
  59. success: function(data) {
  60. $('#mo_user_get_info').html(data).modal('toggle');
  61. },
  62. });
  63. };
  64. function bt_edit_user_info(id){
  65. var get_search = document.getElementById("id_PSearch").value
  66. $.ajax({
  67. type : 'GET',
  68. url: '/parc/api/clients/edit_user/'+id+'?get_search='+get_search,
  69. success: function(data) {
  70. $('#mo_user_edit_info').html(data).modal('toggle');
  71. },
  72. });
  73. };
  74. function bt_edit_user_statut(id){
  75. var get_search = document.getElementById("id_PSearch").value
  76. $.ajax({
  77. type : 'GET',
  78. url: '/parc/api/clients/edit_statut/'+id+'?get_search='+get_search,
  79. success: function(data) {
  80. $('#mo_user_edit_info').html(data).modal('toggle');
  81. },
  82. });
  83. };
  84. function bt_start_novnc(hostname){
  85. $.ajax({
  86. type : 'GET',
  87. url: '/parc/api/clients/novnc/'+hostname,
  88. success: function(data) {
  89. window.open(data, '_blank').focus();
  90. },
  91. });
  92. };
  93. function bt_send_edit_user_info(){
  94. document.getElementById("form_edit_user").submit();
  95. };
  96. function bt_send_edit_user_statut(){
  97. document.getElementById("form_edit_user").submit();
  98. };
  99. function onloading() {
  100. user_get_list();
  101. {% if page.item_id %}bt_get_user_info({{page.item_id}});{% endif %}
  102. };
  103. $(document).ready(function(){ onloading(); });
  104. </script>
  105. {% endblock %}
  106. {% block main %}
  107. <div class="card-body">
  108. {% if not page.output or page.err %}
  109. {{page.p_contenu|safe}}
  110. {% else %}
  111. {% if page.err %}{{page.err|safe}}{% endif %}
  112. {% if page.output and page.err %}<hr>{% endif %}
  113. {% if page.output %}{{page.output|safe|urlize}}{% endif %}
  114. {% endif %}
  115. </div>
  116. <div id="user_get_list"><h3><i class="fas fa-spinner fa-pulse fa-fw"></i> Loading...</h3></div>
  117. {% endblock %}
  118. {% block right_panel %}
  119. <div class="card-body">
  120. {% if page.search_see == "ok" %}
  121. <div id="div_id_PSearch" class="form-group">
  122. <label for="id_PSearch" class=" requiredField">Recherche d'un client (min 3 caractères) </label>
  123. <div class=""><input type="text" name="PSearch" maxlength="128" class="textinput textInput form-control" required="" id="id_PSearch" oninput="user_get_list()" value="{{page.search}}"></div>
  124. </div>
  125. {% else %}
  126. <input type="hidden" name="PSearch" id="id_PSearch">
  127. {% endif %}
  128. <p>{{page.p_right|safe}}</p>
  129. {% if services %}
  130. <div class="d-grid gap-2 mb-2"><button type="button" class="btn btn-primary" data-toggle="modal" data-target="#mo_services_info"><i class="fas fa-info-circle"></i> Liste des services</button></div>
  131. {% endif %}
  132. <div class="d-grid gap-2 mb-2"><a class="btn btn-success" href="#" onclick="bt_edit_user_info(0)" role="button"><i class="far fa-plus-square"></i> Ajouter un équipements</a></div>
  133. <div class="d-grid gap-2"><a class="btn btn-primary" href="/parc" role="button"><i class="fas fa-undo-alt"></i> Retour</a></div>
  134. </div>
  135. {% endblock %}