utente.edit.profile.html 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. <div class="tab-pane fade active show" id="profile-pane" role="tabpanel" aria-labelledby="profile-tab" tabindex="0">
  2. <!-- errori utente -->
  3. {% if utente.errors %}
  4. {{ utente.errors }}
  5. {% for field in utente %}
  6. {% for error in field.errors %}
  7. <div class="alert alert-danger">
  8. <strong>{{ error|escape }}</strong>
  9. </div>
  10. {% endfor %}
  11. {% endfor %}
  12. {% for error in utente.non_field_errors %}
  13. <div class="alert alert-danger">
  14. <strong>{{ error|escape }}</strong>
  15. </div>
  16. {% endfor %}
  17. {% endif %}
  18. <!-- fine zona errori -->
  19. <!-- profilo utente -->
  20. <form name='UserEdit' method='post'>
  21. {% csrf_token %}
  22. <div class='form-group'>
  23. <label for="codicefiscale">Codice Fiscale
  24. {% if codicefiscalenonvalido %}
  25. <div class='text-danger'>
  26. <b>Attenzione, codice fiscale non valido</b>
  27. </div>
  28. {% endif %}
  29. {% if codicefiscaleesistente %}
  30. <div class='text-danger'>
  31. <b>Attenzione, codice fiscale gia' presente in {{ codicefiscaleesistente}} - ripristino il vecchio</b>
  32. </div>
  33. {% endif %}
  34. </label>
  35. <input type='text' class='form-control' name='codicefiscale' id='codicefiscale' value='{{ utente.codicefiscale.value }}' length="16" maxlength="16" required="required">
  36. </div>
  37. <div class='form-group'>
  38. <label for="nome">Nome Cognome</label>
  39. <input type='text' class='form-control form-control-lg' name='nome' id='nome' value='{{ utente.nome.value }}'>
  40. </div>
  41. <div class='form-group'>
  42. <label for="luogonascita">Luogo di nascita</label>
  43. <input type='text' class='form-control' name='luogonascita' id='luogonascita' value='{{ utente.luogonascita.value }}'>
  44. </div>
  45. <div class='form-group'>
  46. <label for="datanascita">Data di nascita</label>
  47. <input type='date' class='form-control' name='datanascita' id='datanascita' value='{{ utente.datanascita.value|date:'Y-m-d' }}'>
  48. </div>
  49. <div class='form-group'>
  50. <label for="mail" class="form-control-label">Email
  51. {% if mailnonvalida %}
  52. <div class='text-danger'>
  53. <b>Attenzione, mail non valida o non presente</b>
  54. </div>
  55. {% endif %}
  56. </label>
  57. <input type='mail' class='form-control' name='mail' id='mail' value='{{ utente.mail.value }}'>
  58. </div>
  59. <div class='form-group'>
  60. <select class="form-select form-select-lg mb-1" name="sede">
  61. <option value=0>Scelta Sede</option>
  62. {% for ls in listasede %}
  63. <option value={{ ls.id }} {% if ls.id == utente.sede.value %}selected{% endif %}>{{ ls.nome }}</button></option>
  64. {% endfor %}
  65. </select>
  66. </div>
  67. <div class='form-group'>
  68. <label for="pin" class='form-control-label'>Pin</label>
  69. <input type='text' class='form-control' name='pin' id='pin' value='{{ utente.pin.value }}'>
  70. </div>
  71. <br>
  72. <div class="card">
  73. <div class="card-header">
  74. Opzioni Generali
  75. </div>
  76. <ul class="list-group list-group-flush">
  77. <li class="list-group-item">
  78. <div class='form-check'>
  79. <input class="form-check-input" type="checkbox" {% if utente.cambiopassword.value %} checked {% endif %} id="cambiopassword" name="cambiopassword">
  80. <label for='cambiopassword' class='form-control-label'>Il dipendente può aggiornare la password</label>
  81. </div>
  82. </li>
  83. <!-- blocco automazione cambio password al primo accesso -->
  84. <li class="list-group-item">
  85. <div class='form-check'>
  86. <input class="form-check-input" type="checkbox" {% if utente.forzanuovapassword.value %} checked {% endif %} id="forzanuovapassword" name="forzanuovapassword"/>
  87. <label for='forzanuovapassword' class='form-control-label'>Il dipendente deve cambiare la password al primo login.</label>
  88. </div>
  89. </li>
  90. <!-- blocco automazione OTP accesso -->
  91. <li class="list-group-item">
  92. <div class='form-check'>
  93. <input class="form-check-input" type="checkbox" {% if utente.otppassword.value %} checked {% endif %} id="otppassword" name="otppassword"/>
  94. <label for='otppassword' class='form-control-label'>Il dipendente riceve un OTP a conferma del login. (Opzione valida per i nuovi inserimenti) </label>
  95. </div>
  96. </li>
  97. <!-- abilita utente al profilo - default True -->
  98. <li class="list-group-item">
  99. <div class="form-check">
  100. <input class="form-check-input" type="checkbox" {% if utente.enabled.value %} checked {% endif %} id="enabled" name="enabled"/>
  101. <label for="enabled" class="form-control-label">Il dipendente puo' accedere al proprio profilo</label>
  102. </div>
  103. </li>
  104. <!-- blocco automazione OTP accesso -->
  105. <li class="list-group-item">
  106. <div class='form-check'>
  107. <input type="checkbox" class="form-check-input" name='cancellautente' id='cancellautente'>
  108. <Label class="form-check-label" for='cancellautente'>Cancella Questo record! La cancellazione è definitiva e non recuperabile!</label>
  109. </div>
  110. </li>
  111. </ul>
  112. </div>
  113. <br>
  114. <div class="button-group">
  115. <button type='submit' class="btn btn-primary" value='Aggiorna'>Aggiorna</button>
  116. <button type='submit' class="btn btn-outline-primary" name="indietro" value="Indietro">Indietro</button>
  117. </div>
  118. </form>
  119. <!-- modal -->
  120. <div class="modal" id="IError" tabindex="-1">
  121. <div class="modal-dialog">
  122. <div class="modal-content">
  123. <div class="modal-header">
  124. <h5 class="modal-title">Utente Gia' Presente</h5>
  125. <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
  126. </div>
  127. <div class="modal-body">
  128. <p>codicefiscale: {{ IntegrityError.codicefiscale }}.</p>
  129. <p>nome: {{ IntegrityError.nome }}.</p>
  130. <p>azienda: {{ IntegrityError.azienda.nome }}.</p>
  131. <p>sede: {{ IntegrityError.sede.nome }}.</p>
  132. </div>
  133. <div class="modal-footer">
  134. <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Chiudi</button>
  135. </div>
  136. </div>
  137. </div>
  138. </div>
  139. </div>