gestione.domain.edit.html 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511
  1. {% extends 'base.html' %}
  2. {% load humanize %}
  3. {% block headersupplement %}
  4. <script>
  5. function UpdateHome() {
  6. if (document.getElementById("home").value.length == 0 ) {
  7. document.getElementById("home").value = document.getElementById("dominio").value;
  8. }
  9. }
  10. function OnSync() {
  11. jQuery.noConflict();
  12. $.get('/dashboard4/domini/OnSync',
  13. function(data,status) {
  14. alert("Data: " + data + "\nStatus: " + status);
  15. }
  16. );
  17. }
  18. </script>
  19. {% endblock %}
  20. {% load domini_tags %}
  21. {% block top %}
  22. <p>
  23. utente che sta effettuando aggiornamenti: {{ utenteautorizzato.mail }}@{{ utenteautorizzato.domain.nome }}
  24. </p>
  25. {% endblock %}
  26. {% block body %}
  27. <div>Gestione Amministrativa del Dominio</div>
  28. <p>Dominio: {{ dominio.id }}: {{ dominio.nome }}</p>
  29. <div>
  30. <div>
  31. {% if checkpassword.errors %}
  32. <p>
  33. Sono stati rilevati degli errori e non e' possibile continuare
  34. {{ checkpassword.errors }}
  35. </p>
  36. {% endif %}
  37. <form name='domainedit' method='post'>
  38. {% csrf_token %}
  39. {% if 'DOMINIEDITCAUSALI' in securitylist %}
  40. <div class='form-group'>
  41. <div class='row'>
  42. <div class='col'>
  43. {% if display_last_causale %}
  44. Ultima Causale Registrata: {{ display_last_causale }} <br><p>
  45. {% if dominio_storia %}
  46. {% for ssl in dominio_storia %}
  47. <p>{{ ssl.causale.nome }} {{ ssl.data }} {%endfor %}
  48. {% endif %}
  49. {% endif %}
  50. </div>
  51. </div>
  52. <p></p>
  53. <div class='row'>
  54. <div class='col'>
  55. <select class='form-control' id='causale' name='causale'>
  56. <option value="0">-- -- --</option>
  57. {% for i in causali %}
  58. <option value="{{ i.id }}" {% if i.id|stringformat:'s' == domainedit.causale.value|stringformat:'s' %} selected {% endif %}>{{ i.nome }}</option>
  59. {% endfor %}
  60. </select>
  61. </div>
  62. <div class='col'>
  63. <button type='submit' class='btn btn-secondary' name="confermacausale" value="confermacausale">Conferma</button>
  64. <button type='button' class='btn btn-secondary' name='toggle' data-toggle='modal' data-target='#ListaUltimeCausaliRegistrate'>Ultime Causali Registrate</button>
  65. <button type='submit' class='btn btn-secondary' name='Ritorna'>Ritorna</button>
  66. <label for='rinnovo_automatico'>Rinnovo Automatico</label>
  67. <input type='checkbox' class='form-check-input' id='rinnovo_automatico' name='rinnovo_automatico' {% if domainedit.rinnovo_automatico.value %} checked {% endif %}>
  68. </div>
  69. </div>
  70. <!-- Modal -->
  71. <div id='ListaUltimeCausaliRegistrate' class='modal fade' role='dialog' tabindex='-1' aria-labelledby='Update' aria-hidden='true'>
  72. <div class='modal-dialog modal-lg' role='document'>
  73. <!-- inizio contenuto modale-->
  74. <div class='modal-content'>
  75. <div class='modal-header'>
  76. <h4>Lista Ultime Causali Utilizzate</h3>
  77. </div>
  78. <div>
  79. <ul class='list-group'>
  80. {% for lc in UltimaStoriaCausali %}
  81. <li class='list-group-item'>{{ lc.data|DateFromUnixTimeStamp }} {{ lc.causale.nome }}</li>
  82. {% endfor %}
  83. </ul>
  84. </div>
  85. <div class='modal-footer'>
  86. <input type='button' class='btn btn-outline-dark' data-dismiss='modal' value='Chiudi'></button>
  87. </div>
  88. </div>
  89. <!-- fine del contenuto modale -->
  90. </div>
  91. </div>
  92. {% endif %}
  93. <div class='row'>&nbsp;</div>
  94. <div class='row'>
  95. <div class='col'>
  96. <label for='dominio'>Dominio </label>
  97. <input type='text' class='form-control' id='dominio' name='dominio' placeholder='nome dominio (obbligatorio)' value='{{ domainedit.dominio.value }}' {% if not 'DOMINIEDITDOMAIN' in securitylist or not domainedit.edit.value %} readonly {% endif %} onchange='UpdateHome()'>
  98. </div>
  99. <div class='col'>
  100. <label for='public_email'>Email Pubblica</label>
  101. <input type='text' class='form-control' id='public_email' name='public_email' value='{{ domainedit.public_email.value }}' {% if not 'DOMINIEDITPUBLICEMAIL' in securitylist or not domainedit.edit.value %} readonly {% endif %}>
  102. </div>
  103. </div>
  104. <div class='row'>
  105. <div class='col'>
  106. <label for='proprietario'>Owner</label>
  107. <textarea name='proprietario' class='form-control' rows='5'>{{ domainedit.proprietario.value }}</textarea>
  108. </div>
  109. </div>
  110. <div class='row'>
  111. <div class='col'>
  112. <label for='contatti'>Contatti Email (Separare le email con spazi o virgole)</label>
  113. <input type='text' class='form-control' id='contatti' name='contatti' value='{{ domainedit.contatti.value }}'/>
  114. </div>
  115. </div>
  116. <br>
  117. <div class='row'>
  118. <div class='col'>
  119. <div class='form-group'>
  120. <label for='target'>Target di Fatturazione</label>
  121. <select class='form-control' id='target' name='target'>
  122. {% for i in target %}
  123. <option value='{{ i.id }}' {% if i.id|stringformat:'s' == domainedit.target.value|stringformat:'s' %} selected {% endif %}>{{ i.nome }} - Max Size: {{ i.spazio }}</options>
  124. {% endfor %}
  125. </select>
  126. </div>
  127. </div>
  128. </div>
  129. <hr>
  130. Servizi assegnati al dominio:
  131. {% if dsf %}
  132. <div class='row'>
  133. <table class="table table-striped">
  134. <thead>
  135. <th>Id</th>
  136. <th>Servizio</th>
  137. <th>Attivazione</th>
  138. </thead>
  139. <tbody>
  140. {% for row in dsf %}
  141. <tr>
  142. <th scope="row">{{ row.servizio.id }}</th>
  143. <td>{{ row.servizio.nome }}</td>
  144. <td>{{ row.attivazione }}</td>
  145. <td {% if row.disattivazione %}style="text-decoration:line-through red;" {% endif %}>{{ row.disattivazione }}</td>
  146. </tr>
  147. {% endfor %}
  148. </tbody>
  149. </table>
  150. </div>
  151. {% else %}
  152. Non sono stati registrati servizi!
  153. {% endif %}
  154. <hr>
  155. <div class='row form-group'>
  156. <div class='col'>
  157. <label for='dic'>Inizio Contratto</label>
  158. <input type='text' class='form-control' id='idc' placeholder='inizio' name='date_start_contract' value='{{ domainedit.date_start_contract.value | date:'d/m/Y' }}' {% if not 'DOMINIDATE' in securitylist and not domainedit.edit.value %} readonly {% endif %}>
  159. </div>
  160. <div class='col'>
  161. <label for='psc'>Prossima Scadenza Contratto</label>
  162. <input type='text' class='form-control' id='psc' placeholder='sc. contratto' name='date_expire_contract' value='{{ domainedit.date_expire_contract.value | date:'d/m/Y' }}' {% if not 'DOMINIDATE' in securitylist and not domainedit.edit.value %} readonly {% endif %}>
  163. </div>
  164. <div class='col'>
  165. <label for='psr'>Prossima Scadenza Registrazione</label>
  166. <input type='text' class='form-control' id='psr' placeholder='sc. registrazione' name='date_expire_registrar' value='{{ domainedit.date_expire_registrar.value | date:'d/m/Y' }}' {% if not 'DOMINIDATE' in securitylist and not domainedit.edit.value %} readonly='' {% endif %}>
  167. </div>
  168. </div>
  169. <div class='form-group'>
  170. <label for='home'>Home</label>
  171. <input type='text' class='form-control' id='home' name='home' value='{{ domainedit.home.value }}'>
  172. </div>
  173. {% if 'DOMINIEDITREGISTRAR' in securitylist %}
  174. <div class='form-group'>
  175. <label for='registrar'>Registrar</label>
  176. <select class='form-control' id='registrar' name='registrar' {% if not domainedit.edit.value %} readonly {% endif %}>
  177. {% for i in registrar %}
  178. <option value="{{ i.id }}" {% if i.id|stringformat:'s' == domainedit.registrar.value|stringformat:'s' %} selected {% endif %}>{{ i.nome }} ({% if i.registrazione %}Gestito Da noi{% else %}Gestito dal cliente {% endif %})</option>
  179. {% endfor %}
  180. </select>
  181. {% endif %}
  182. <div class='form-group'>
  183. <label for='mail_server'>Mail Server</label>
  184. <select class='form-control' id='mail_server' name='mail_server' {% if not domainedit.edit.value %} readonly {% endif %}>
  185. {% for i in mailserver %}
  186. <option value="{{ i.id }}" {% if i.id|stringformat:'s' == domainedit.mail_server.value|stringformat:'s' %} selected {% endif %}>
  187. {{ i.id }} {{ i.nome }} {{ i.nota }}</option>
  188. {% endfor %}
  189. </select>
  190. </div>
  191. <div class='form-group'>
  192. <label for='lmtp_server'>Lmtp Server</label>
  193. <select class='form-control' id='lmtp_server' name='lmtp_server' {% if not domainedit.edit.value %} readonly {% endif %}>
  194. {% for i in mailserver %}
  195. <option value="{{ i.id }}" {% if i.id|stringformat:'s' == domainedit.lmtp_server.value|stringformat:'s' %} selected {% endif %}>
  196. {{ i.id }} {{ i.nome }} {{ i.nota }}</option>
  197. {% endfor %}
  198. </select>
  199. </div>
  200. <div class='form-group'>
  201. <label for='mail_server'>Mail Proxy</label>
  202. <select class='form-control' id='mail_proxy' name='mail_proxy' {% if not domainedit.edit.value %} readonly {% endif %}>
  203. {% for i in mailserver %}
  204. <option value="{{ i.id }}" {% if i.id|stringformat:'s' == domainedit.mail_proxy.value|stringformat:'s' %} selected {% endif %}>
  205. {{ i.id }} {{ i.nome }} {{ i.nota }}</option>
  206. {% endfor %}
  207. </select>
  208. </div>
  209. <div class='form-group'>
  210. <label for='mail_server'>Mail Database Server</label>
  211. <select class='form-control' id='sql_remote' name='sql_remote' {% if not domainedit.edit.value %} readonly {% endif %}>
  212. {% for i in mailserver %}
  213. <option value="{{ i.id }}" {% if i.id|stringformat:'s' == domainedit.sql_remote.value|stringformat:'s' %} selected {% endif %}>
  214. {{ i.id }} {{ i.nome }} {{ i.nota }}</option>
  215. {% endfor %}
  216. </select>
  217. </div>
  218. <div>
  219. <label for='OnSync'>Sincronizza Utenti</label>
  220. <button type='button' class='form-control btn btn-secondary' name='OnSync' id='OnSync' onclick="OnSync">Sincronizza Utenti</button>
  221. </div>
  222. <div class='row'>
  223. <div class='col text-center'>
  224. <label for='enabled'>attivo</label>
  225. <input type='checkbox' class='form-check-input' id='enabled' name='enabled' {% if domainedit.enabled.value %} checked {% endif %}>
  226. </div>
  227. <div class='col text-center'>
  228. <label for='tobedeleted'>Dominio Impostato per la cancellazione</label>
  229. <input type='checkbox' class='form-check-input' id='tobedeleted' name='tobedeleted' {% if domainedit.tobedeleted.value %} checked {% endif %}{% if not domainedit.edit.value %} readonly {% endif %}>
  230. </div>
  231. </div>
  232. <br>
  233. <div class='row'>
  234. <div class='col text-center'>
  235. <label for='mail'>mail</label>
  236. <input type='checkbox' class='form-check-input' id='mail' name='mail' {% if domainedit.mail.value %} checked {% endif %}>
  237. </div>
  238. <div class='col text-center'>
  239. <label for='pop3'>Pop3</label>
  240. <input type='checkbox' class='form-check-input' id='pop3' name='pop3' {% if domainedit.pop3.value %} checked {% endif %}>
  241. </div>
  242. <div class='col text-center'>
  243. <label for='imap'>Imap</label>
  244. <input type='checkbox' class='form-check-input' id='imap' name='imap' {% if domainedit.imap.value %} checked {% endif %}>
  245. </div>
  246. <div class='col text-center'>
  247. <label for='smtp'>Smtp</label>
  248. <input type='checkbox' class='form-check-input' id='smtp' name='smtp' {% if domainedit.smtp.value %} checked {% endif %}>
  249. </div>
  250. <div class='col text-center'>
  251. <label for='smtp_relay'>Relay</label>
  252. <input type='checkbox' class='form-check-input' id='smtp_relay' name='smtp_relay' {% if domainedit.smtp_relay.value %} checked {% endif %}>
  253. </div>
  254. <div class='col text-center'>
  255. <label for='webmail'>Webmail</label>
  256. <input type='checkbox' class='form-check-input' id='webmail' name='webmail' {% if domainedit.webmail.value %} checked {% endif %}>
  257. </div>
  258. <div class='col text-center'>
  259. <label for='nextcloud'>NextCloud</label>
  260. <input type='checkbox' class='form-check-input' id='nextcloud' name='nextcloud' {% if domainedit.nextcloud.value %} checked {% endif %}>
  261. </div>
  262. <div class='col text-center'>
  263. <label for='nextcloud_pwd'>NextCloud Pwd Sync</label>
  264. <input type='checkbox' class='form-check-input' id='nextcloud_pwd' name='nextcloud_pwd' {% if domainedit.nextcloud_pwd.value %} checked {% endif %}>
  265. </div>
  266. <div class='col text-center'>
  267. <label for='sendafile'>Send A File</label>
  268. <input type='checkbox' class='form-check-input' id='sendafile' name='sendafile' {% if domainedit.sendafile.value %} checked {% endif %}>
  269. </div>
  270. <div class='col text-center'>
  271. <label for='sms'>Sms</label>
  272. <input type='checkbox' class='form-check-input' id='sms' name='sms' {% if domainedit.sms.value %} checked {% endif %}>
  273. </div>
  274. </div>
  275. <hr>
  276. <div class='row'>
  277. <div class='col text-center'>
  278. <label for='lmtp'>Lmtp</label>
  279. <input type='checkbox' class='form-check-input' id='lmtp' name='lmtp' {% if domainedit.lmtp.value %} checked {% endif %}>
  280. </div>
  281. <div class='col text-center'>
  282. <label for='sieve'>Sieve</label>
  283. <input type='checkbox' class='form-check-input' id='sieve' name='sieve' {% if domainedit.sieve.value %} checked {% endif %}>
  284. </div>
  285. <div class='col text-center'>
  286. <label for='antivirus'>Antivirus</label>
  287. <input type='checkbox' class='form-check-input' id='antivirus' name='antivirus' {% if domainedit.antivirus.value %} checked {% endif %}>
  288. </div>
  289. <div class='col text-center'>
  290. <label for='spf'>Spf</label>
  291. <input type='checkbox' class='form-check-input' id='spf' name='spf' {% if domainedit.spf.value %} checked {% endif %}>
  292. </div>
  293. <div class='col text-center'>
  294. <label for='blacklist'>Blacklist</label>
  295. <input type='checkbox' class='form-check-input' id='blacklist' name='blacklist' {% if domainedit.blacklist.value %} checked {% endif %}>
  296. </div>
  297. <div class='col text-center'>
  298. <label for='ftp'>Ftp</label>
  299. <input type='checkbox' class='form-check-input' id='ftp' name='ftp' {% if domainedit.ftp.value %} checked {% endif %}>
  300. </div>
  301. <div class='col text-center'>
  302. <label for='sql'>Sql</label>
  303. <input type='checkbox' class='form-check-input' id='sql' name='sql' {% if domainedit.sql.value %} checked {% endif %}>
  304. </div>
  305. <div class='col text-center'>
  306. <label for='http'>Http</label>
  307. <input type='checkbox' class='form-check-input' id='http' name='http' {% if domainedit.http.value %} checked {% endif %}>
  308. </div>
  309. <div class='col text-center'>
  310. <label for='proxy'>Proxy</label>
  311. <input type='checkbox' class='form-check-input' id='proxy' name='proxy' {% if domainedit.proxy.value %} checked {% endif %}>
  312. </div>
  313. </div>
  314. <hr>
  315. <div class='row'>
  316. <div class='col text-center'>
  317. <label for='Account'>Account di posta</label>
  318. <input type='number' class='form-control' id='max_account' name='max_account' value={{ domainedit.max_account.value }}>
  319. </div>
  320. <div class='col text-center'>
  321. <label for='max_alias'>Alias</label>
  322. <input type='number' class='form-control' id='max_alias' name='max_alias' value={{ domainedit.max_alias.value }}>
  323. </div>
  324. <div class='col text-center'>
  325. <label for='max_alias'>Liste</label>
  326. <input type='number' class='form-control' id='max_list' name='max_list' value={{ domainedit.max_list.value }}>
  327. </div>
  328. </div>
  329. <hr>
  330. <div class='row'>
  331. <div class='col text-center'>
  332. <label for='account_used'>Account Usati</label>
  333. <input type='text' class='form-control' id='account_used' name='account_used' value="{{ domainedit.account_used.value }}" readonly>
  334. </div>
  335. <div class='col text-center'>
  336. <label for='alias_used'>Alias Utilizzati</label>
  337. <input type='text' class='form-control' id='alias_used' name='alias_used' value="{{ domainedit.alias_used.value }}" readonly>
  338. </div>
  339. <div class='col text-center'>
  340. <label for='list_used'>Liste Utilizzate</label>
  341. <input type='test' class='form-control' id='list_used' name='list_used' value="{{ domainedit.list_used.value }}" readonly>
  342. </div>
  343. </div>
  344. <hr>
  345. Quote utilizzate (I valori sono espressi in Mega)
  346. <div class='row'>
  347. <div class='col'>
  348. <label for='mail_quota'>Mail Quota</label>
  349. <input type='text' class='form-control' id='mail_quota' name='mail_quota' value='{{ dominio.mail_quota|intcomma }}M' readonly>
  350. </div>
  351. <div class='col'>
  352. <label for='http_quota'>Http Quota</label>
  353. <input type='Text' class='form-control' id='http_quota' name='http_quota' value='{{ dominio.http_quota|intcomma }}M' readonly>
  354. </div>
  355. <div class='col'>
  356. <label for='ftp_quota'>Ftp Quota</label>
  357. <input type='Text' class='form-control' id='ftp_quota' name='ftp_quota'value='{{ dominio.ftp_quota|intcomma }}M' readonly>
  358. </div>
  359. <div class='col'>
  360. <label for='http_quota'>Sql Quota</label>
  361. <input type='Text' class='form-control' id='http_quota' name='sql_quota' value='{{ dominio.sql_quota|intcomma }}M' readonly>
  362. </div>
  363. <div class='col'>
  364. <label for='nextcloud_quota'>Nextcloud quota</label>
  365. <input type='text' class='form-control' id='Nextcloud_quota' name='nextcloud_quota' value='{{ dominio.nextcloud_quota|intcomma }}M' readonly>
  366. </div>
  367. <div class='col'>
  368. <label for='totale'>Totale</label>
  369. <input type='text' class='form-control' id='Totale' name='totale' value='{{ totale|intcomma }}M' readonly>
  370. </div>
  371. </div>
  372. <div class='row'>
  373. <div class='col'>
  374. <input type='text' class='form-control' id='mail_quota' name='mail_quota' value='{{ dominio.date_mail_quota }}' readonly>
  375. </div>
  376. <div class='col'>
  377. <input type='Text' class='form-control' id='http_quota' name='http_quota' value='{{ dominio.date_http_quota }}' readonly>
  378. </div>
  379. <div class='col'>
  380. <input type='Text' class='form-control' id='ftp_quota' name='ftp_quota'value='{{ dominio.date_ftp_quota }}' readonly>
  381. </div>
  382. <div class='col'>
  383. <!--<input type='Text' class='form-control' id='http_quota' name='sql_quota' value='{{ dominio.date_sql_quota }}' readonly>-->
  384. </div>
  385. <div class='col'>
  386. <!--<input type='text' class='form-control' id='Nextcloud_quota' name='nextcloud_quota' value='{{ dominio.date_nextcloud_quota }}' readonly>-->
  387. </div>
  388. <div class='col'>
  389. </div>
  390. </div>
  391. <hr>
  392. <div class='row form-group'>
  393. <div class='col text-center'>
  394. <label for='warning_mail_quota'>Quota Allarme per Utente</label>
  395. <input type='number' class='form-control' id='warning_mail_quota' name='warning_mail_quota' value={{ domainedit.warning_mail_quota.value }}>
  396. </div>
  397. <div class='col'>
  398. <label class='form-check-label' for='warning_mail_quota_check'>Controllo Soglia</label>:
  399. <input type='checkbox' class='form-check-label' id='warning_mail_quota_check' name='warning_mail_quota_check' {% if domainedit.warning_mail_quota_check.value %} checked {% endif %}>
  400. </div>
  401. <div class='col text-center'>
  402. <label class='form-check-label' for='update_mail_quota'>Aggiorna Quota Email</label>:
  403. <input type='checkbox' class='form-check-input'' id='update_mail_quota' name='update_mail_quota' {% if domainedit.update_mail_quota.value %} checked {% endif %}>
  404. </div>
  405. <div class='col text-center'>
  406. <label class=ìform-check-label' for='force_update_mail_quota'>Forza Aggiornamento</label>:
  407. <input type='checkbox' class='form-check-input' id='force_update_mail_quota' name='force_update_mail_quota' {% if domainedit.force_update_mail_quota.value %} checked {% endif %}>
  408. </div>
  409. </div>
  410. <hr>
  411. {% if ftplist %}
  412. Spazio FTP assegnato
  413. <table class='table table-striped table-hover'>
  414. <thead class='thead-dark'>
  415. <tr>
  416. <th>Utente</th>
  417. <th>Home</th>
  418. <th>Quota</th>
  419. </tr>
  420. </thead>
  421. <tbody>
  422. {% for f in ftplist %}
  423. <tr>
  424. <td>{{ f.utente }}</td>
  425. <td>{{ f.homedir }}</td>
  426. <td>{{ f.quota|intcomma }}M</td>
  427. </tr>
  428. {% endfor %}
  429. </tbody>
  430. </table>
  431. {% endif %}
  432. <div class='row form-group'>
  433. <label for='nota'>Note e appunti</label>
  434. <textarea name='nota' class='form-control' rows='5'>{{ domainedit.nota.value }}</textarea>
  435. </div>
  436. {% if 'EDITUSEROPTIONS' in securitylist %}
  437. <label for='edit' class='form-check-label'>Editing Campi Protetti</label>:
  438. <input type='checkbox' class='form-check-input' id='edit' name='edit' {% if domainedit.edit.value %} checked {% endif %}>
  439. {% endif %}
  440. <div>
  441. <div class='row'>
  442. {% if domainedit.errors %}
  443. <div class='row'>
  444. Rilevati Errori, impossibile proseguire.
  445. </div>
  446. <div class='row'>
  447. {% for f in domainedit %}
  448. {% for e in f.errors %}
  449. <div class="alter alter-danger">
  450. <strong>{{f.label|escape }}: {{ e|escape }}</strong>
  451. </div>
  452. {% endfor %}
  453. {% endfor %}
  454. </div>
  455. <div class='row'>
  456. {% for e in domainedit.non_field_errors %}
  457. <div class="alter alter-danger">
  458. <strong>{{ e|escape }}</strong>
  459. </div>
  460. {% endfor %}
  461. </div>
  462. {% endif %}
  463. </div>
  464. </div>
  465. <hr>
  466. <div class='btn-group' role='group' aria-label='conferme'>
  467. <button type='submit' class='btn btn-primary active'>Conferma</button>
  468. <button type='reset' class='btn btn-secondary'>Reset</button>
  469. <button type='submit' class='btn btn-secondary' name='Ritorna'>Ritorna (Senza Salvare)</button>
  470. </div>
  471. </form>
  472. </div>
  473. {% endblock %}