views.py 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559
  1. from django.shortcuts import render
  2. from .models import *
  3. from .forms import *
  4. from att.views import *
  5. from config.views import *
  6. from random import randint
  7. from django.http import HttpResponse,HttpResponseRedirect
  8. from django.urls import reverse
  9. from sicurezza.views import *
  10. from config.datafunc import *
  11. def welcome(request):
  12. if not 'AdminId' in request.session:
  13. print("Non rilevo presensa AdminId in request.session")
  14. return HttpResponseRedirect(reverse("login:start"))
  15. ### funzioni esterne ###
  16. d = DataDict()
  17. data = d.getData()
  18. data['NavBar']=True
  19. data['ShowSelectAzienda'] = False
  20. data['ShowSelectSede'] = False
  21. define = Define(request)
  22. data['admin'] = define.getAdmin()
  23. data['azienda'] = define.getAzienda()
  24. data['AziendaId'] = define.getAziendaId()
  25. data['sede'] = define.getSede()
  26. data['SedeId'] = define.getSedeId()
  27. print('cazzo cazzo')
  28. ### funzioni esterne fine ###
  29. ### permessi inizio ###
  30. data['permesso'] = getAMP(data['admin'])[0]
  31. print("******",data['azienda'])
  32. if 'azienda' in data:
  33. print('**** azienda presente ****')
  34. for t in getAZP(data['azienda'],data['admin'])[0]:
  35. if t not in data['permesso']:
  36. data['permesso'].append(t)
  37. if 'sede' in data:
  38. print('**** sede presente ****')
  39. for t in getSEP(data['sede'],data['admin']):
  40. if t not in data['permesso']:
  41. data['permesso'].append(t)
  42. print('permessi assegnati:',data['permesso'])
  43. ### permessi fine ###
  44. amministratorelista = Amministratore.objects.all()
  45. data['amministratorelista'] = amministratorelista
  46. print(len(amministratorelista))
  47. # mostriamo gli amministratori per l'azienda
  48. if data['azienda']:
  49. print('trovato riferimento per azienda')
  50. amministratorelista = data['azienda'].assegnazioneazienda_set.all()
  51. tmp=[]
  52. for al in amministratorelista:
  53. print(al.amministratore.nome)
  54. tmp.append(al.amministratore)
  55. data['amministratorelista'] = tmp
  56. if data['sede']:
  57. print('trovato riferimento per sede')
  58. amministratorelista = data['sede'].assegnazionesede_set.all()
  59. tmp = []
  60. for al in amministratorelista:
  61. try:
  62. print(al.amministratore.nome)
  63. tmp1 = al.amministratore
  64. tmp.append(al.amministratore)
  65. except AttributeError as ae:
  66. print(ae)
  67. data['amministratorelista'] = tmp
  68. data['amministratorelista'] = sorted(data['amministratorelista'], key = lambda x: x.login,reverse=False)
  69. data['amministratorelistalen'] = len(data['amministratorelista'])
  70. if request.method == 'POST':
  71. print("qualcosa e' stato premuto")
  72. if 'indietro' in request.POST:
  73. return HttpResponseRedirect(reverse("azienda:welcome"))
  74. if 'sceltanuovo' in request.POST:
  75. request.session['AmministratoreEditId'] = 0
  76. print('richiesto nuovo record')
  77. return HttpResponseRedirect(reverse('amministratore:edit'))
  78. formamministratoreeditid = FormAmministratoreEditId(request.POST,amministratore=data['amministratorelista'])
  79. if formamministratoreeditid.is_valid():
  80. scelta = formamministratoreeditid.cleaned_data.get('scelta')
  81. request.session['AmministratoreEditId'] = scelta
  82. print("Scelta effettuata",scelta)
  83. return HttpResponseRedirect(reverse("amministratore:edit"))
  84. #data['amministratorelista'] = amministratorelista
  85. #data['numeroRecordAmministratore'] = len(amministratorelista)
  86. #print(data)
  87. return render(request,'amministratore.welcome.html',data)
  88. def edit(request):
  89. '''
  90. edit amministratore o simile
  91. sulla base dei diritti assegnati, puo' leggero e/o scrivere nell'utente
  92. nella sede o nell'azienda.
  93. i diritti sono assegnati sulla base dell'utente e non successivamente
  94. all'assegnazione, tanto se l'utente ha una zona assegnata, quella puo' vedere
  95. e basta.
  96. '''
  97. if not 'AdminId' in request.session:
  98. return HttpResponseRedirect(reverse("login:start"))
  99. data = dict()
  100. data['HeaderTitle'] = getConfig('HeaderTitle')
  101. data['Navbar']=False
  102. if 'AdminId' in request.session:
  103. data['AdminId'] = request.session['AdminId']
  104. admin = Amministratore.objects.get(pk=data['AdminId'])
  105. data['admin'] = admin
  106. print('admin',admin.id,admin.nome)
  107. data['permesso'] = getAMP(admin)[0]
  108. azienda = None
  109. if 'AziendaId' in request.session:
  110. AziendaId = request.session['AziendaId']
  111. print('AziendaId',AziendaId)
  112. azienda = Azienda.objects.get(pk=AziendaId)
  113. data['azienda'] = azienda
  114. sede = None
  115. if 'SedeId' in request.session:
  116. SedeId = request.session['SedeId']
  117. print('SedeId',SedeId)
  118. try:
  119. sede = Sede.objects.get(pk=SedeId)
  120. except Sede.DoesNotExist as dne:
  121. print("Sede non esiste")
  122. data['sede'] = sede
  123. amministratore = None
  124. print(request)
  125. if 'AmministratoreEditId' in request.session:
  126. amministratoreEditId = request.session.get('AmministratoreEditId')
  127. try:
  128. amministratore = Amministratore.objects.get(pk=amministratoreEditId)
  129. except Amministratore.DoesNotExist as dne:
  130. amministratore = Amministratore()
  131. amministratore.pin = str(randint(100000,999999))
  132. print('amministratore',amministratore.id,amministratore.nome)
  133. print("request.method",request.method)
  134. if request.method == 'POST':
  135. print("qualcosa e' stato premuto")
  136. if 'indietro' in request.POST:
  137. return HttpResponseRedirect(reverse("amministratore:welcome"))
  138. if 'AmministratoreCancellaButton' in request.POST:
  139. print('editAmministratore: premuto "AmministratoreCancellaButton"')
  140. amp = amministratore.amp_set.all()
  141. azp = amministratore.azp_set.all()
  142. sep = amministratore.sep_set.all()
  143. print(amministratore.nome)
  144. print(len(amp),amp)
  145. print(len(azp),azp)
  146. print(len(sep),sep)
  147. for x in sep:
  148. x.delete()
  149. for x in azp:
  150. x.delete()
  151. for x in amp:
  152. x.delete()
  153. amministratore.delete()
  154. return HttpResponseRedirect(reverse("amministratore:welcome"))
  155. if 'AmministratoreDirittiAziendaButton' in request.POST:
  156. print('edit azienda: premuto "AmministratoreDirittiAziendaButton"')
  157. return HttpResponseRedirect(reverse("amministratore:editAZP"))
  158. if 'AmministratoreUpdateButton' in request.POST:
  159. formamministratore = FormAmministratore(request.POST)
  160. if formamministratore.is_valid():
  161. print('form valida formamministratore')
  162. amministratore.login=formamministratore.cleaned_data.get('login')
  163. amministratore.nome=formamministratore.cleaned_data.get('nome')
  164. amministratore.mail=formamministratore.cleaned_data.get('mail')
  165. amministratore.pin=formamministratore.cleaned_data.get('pin')
  166. amministratore.save()
  167. print('id amministratore salvato/nuovo',amministratore.id,":",amministratore.nome)
  168. request.session['AmministratoreEditId'] = amministratore.id
  169. return HttpResponseRedirect(reverse('amministratore:welcome'))
  170. tmp = dict()
  171. tmp['nome'] = amministratore.nome
  172. tmp['login'] = amministratore.login
  173. tmp['pin'] = amministratore.pin
  174. tmp['mail'] = amministratore.mail
  175. data['amministratore'] = FormAmministratore(tmp)
  176. if amministratore.id:
  177. # elenco aziende autorizzate per amministratore
  178. data['listaazienda'] = listaAZP(amministratore)[0]
  179. print('lista azienda',len(data['listaazienda']))
  180. # elenco dei permessi per amministratore
  181. data['listapermesso'] = getAMP(amministratore)[2]
  182. print('lista permesso',len(data['listapermesso']))
  183. #calcola la differenza tra i permessi assegnati e quelli disponibili
  184. data['listapermessotutto'] = getPermesso()
  185. data['listapermessomancante'] = getAMP(amministratore)[1]
  186. data['listapermessodiff'] = list(set(data['listapermessotutto']) - set(data['listapermessomancante']))
  187. print('Quanti ne mancano',len(data['listapermessodiff']),data['listapermessodiff'])
  188. #calcolo la differenza tra tutte le aziende e le aziende sottoposte a permesso
  189. listaaziendatutte = Azienda.objects.all()
  190. data['listaaziendadiff'] = list(set(listaaziendatutte)-set(data['listaazienda']))
  191. print('Differenza aziende',len(data['listaaziendadiff']))
  192. return render(request,'amministratore.edit.html',data)
  193. def editAZP(request):
  194. ### edit diritti associati all'azienda.
  195. ### in questa sezione procediamo con l'assegnare o rimuovere i diritti di questo amministratore
  196. ### per le aziende in elenco.
  197. if not 'AdminId' in request.session:
  198. return HttpResponseRedirect(reverse("login:start"))
  199. ### funzioni esterne ###
  200. d = DataDict()
  201. data = d.getData()
  202. data['NavBar']=True
  203. data['ShowSelectAzienda'] = False
  204. data['ShowSelectSede'] = False
  205. define = Define(request)
  206. data['admin'] = define.getAdmin()
  207. data['azienda'] = define.getAzienda()
  208. data['AziendaId'] = define.getAziendaId()
  209. data['sede'] = define.getSede()
  210. data['SedeId'] = define.getSedeId()
  211. ### funzioni esterne fine ###
  212. if 'AdminId' in request.session:
  213. data['AdminId'] = request.session['AdminId']
  214. admin = Amministratore.objects.get(pk=data['AdminId'])
  215. data['admin'] = admin
  216. print('admin',admin.id,admin.nome)
  217. data['permesso'] = getAMP(admin)[0]
  218. amministratore = None
  219. if 'AmministratoreEditId' in request.session:
  220. amministratoreEditId = request.session.get('AmministratoreEditId')
  221. try:
  222. amministratore = Amministratore.objects.get(pk=amministratoreEditId)
  223. except Amministratore.DoesNotExist as dne:
  224. amministratore = Amministratore()
  225. amministratore.pin = str(randint(100000,999999))
  226. print('amministratore',amministratore.id,amministratore.nome)
  227. listaaziendatutte = Azienda.objects.all()
  228. if amministratore:
  229. data['listaazienda'] = listaAZP(amministratore)[0]
  230. data['listaaziendadiff'] = list(set(listaaziendatutte)-set(data['listaazienda']))
  231. else:
  232. data['listaaziendadiff'] = list(set(listaaziendatutte))
  233. #parliamo di diritti assegnati all'azienda.
  234. data['dirittiAZIENDA'] = Permesso.objects.filter(classe='AZI')
  235. print('dirittiAZIENDA',len(data['dirittiAZIENDA']))
  236. if request.method == 'POST':
  237. print("qualcosa e' stato premuto")
  238. if 'AmministratoreReturnButton' in request.POST:
  239. print("Un tasto è stato premuto 'AmministratoreReturnButton'")
  240. return HttpResponseRedirect(reverse("amministratore:welcome"))
  241. if 'AmministratoreButton' in request.POST:
  242. print("Un tasto è stato premuto 'AmministratoreButton'")
  243. return HttpResponseRedirect(reverse("amministratore:edit"))
  244. if 'SedeButton' in request.POST:
  245. print("Un tasto è stato premuto 'SedeButton'")
  246. azienda = request.POST.get('SedeButton')
  247. request.session['EditAziendaId'] = azienda
  248. return HttpResponseRedirect(reverse("amministratore:editSEP"))
  249. if 'AziendaPermessoUpdateButton' in request.POST:
  250. print("Un tasto è stato premuto 'AziendaPermessoUpdate'")
  251. return render(request,'amministratore.edit.AZP.html',data)
  252. def editSEP(request):
  253. ### edit diritti associati alla sede
  254. ### in questa sezione procediamo con l'assegnare o rimuovere i diritti di questo amministratore
  255. ### per le sedi in elenco.
  256. if not 'AdminId' in request.session:
  257. return HttpResponseRedirect(reverse("login:start"))
  258. ### funzioni esterne ###
  259. d = DataDict()
  260. data = d.getData()
  261. data['NavBar']=True
  262. data['ShowSelectAzienda'] = False
  263. data['ShowSelectSede'] = False
  264. define = Define(request)
  265. data['admin'] = define.getAdmin()
  266. data['azienda'] = define.getAzienda()
  267. data['AziendaId'] = define.getAziendaId()
  268. data['sede'] = define.getSede()
  269. data['SedeId'] = define.getSedeId()
  270. ### funzioni esterne fine ###
  271. if not 'EditAziendaId' in request.session:
  272. HttpResponseRedirect(reverse("amministratore:editAZP"))
  273. if 'AdminId' in request.session:
  274. data['AdminId'] = request.session['AdminId']
  275. admin = Amministratore.objects.get(pk=data['AdminId'])
  276. data['admin'] = admin
  277. print('admin',admin.id,admin.nome)
  278. data['permesso'] = getAMP(admin)[0]
  279. amministratore = None
  280. if 'AmministratoreEditId' in request.session:
  281. amministratoreEditId = request.session.get('AmministratoreEditId')
  282. try:
  283. amministratore = Amministratore.objects.get(pk=amministratoreEditId)
  284. except Amministratore.DoesNotExist as dne:
  285. return HttpResponseRedirect(reverse("amministratore:editSEP"))
  286. print('amministratore',amministratore.id,amministratore.login,amministratore.nome)
  287. data['amministratore'] = amministratore
  288. azienda = Azienda.objects.get(pk=request.session.get('EditAziendaId'))
  289. print('azienda',azienda.nome)
  290. data['aziendaOnWork'] = azienda
  291. listasedetutte = azienda.sede_set.all()
  292. print('listasedetutte - lunghezza',len(listasedetutte))
  293. data['listasede'] = listaSEP(azienda,amministratore.id,"SEDE")[0]
  294. print("data['listasede']",data['listasede'])
  295. print('amministratore',amministratore.nome)
  296. data['listasedediff'] = list(set(listasedetutte)-set(data['listasede']))
  297. # parliamo di diritti relativi alle sedi
  298. data['dirittiSEDE'] = Permesso.objects.filter(classe='SED')
  299. print('dirittiSEDE',len(data['dirittiSEDE']))
  300. print('minchia')
  301. if request.method == 'POST':
  302. print("qualcosa e' stato premuto")
  303. if 'AmministratoreReturnButton' in request.POST:
  304. print("Un tasto è stato premuto 'AmministratoreReturnButton'")
  305. return HttpResponseRedirect(reverse("amministratore:welcome"))
  306. if 'AmministratoreButton' in request.POST:
  307. print("Un tasto è stato premuto 'AmministratoreButton'")
  308. return HttpResponseRedirect(reverse("amministratore:edit"))
  309. return render(request,'amministratore.edit.SEP.html',data)
  310. '''
  311. if 'ConfermaCancellazionePermessoXAmministratore' in request.POST:
  312. print("Premuto tasto ConfermaCancellazionePermessoXAmministratore")
  313. formcancellapermessoxamministratore = FormCancellaPermessiXAmministratore(request.POST)
  314. if formcancellapermessoxamministratore.is_valid():
  315. print('Form Valida CancellaPermessoXAmministratore')
  316. permessodarimuovere = formcancellapermessoxamministratore.cleaned_data.get('ConfermaCancellazionePermessoXAmministratore')
  317. print('Permesso da rimuovere',permessodarimuovere)
  318. amp = AMP.objects.get(pk=permessodarimuovere)
  319. amp.delete()
  320. if 'PermessoDaAggiungereButton' in request.POST:
  321. print("Premuto aggiunta permesso")
  322. formpermessodaaggiungere = FormPermessoDaAggiungere(request.POST)
  323. print(formpermessodaaggiungere)
  324. if formpermessodaaggiungere.is_valid():
  325. print("Form permessodaaggiungere valida")
  326. pda = Permesso.objects.get(pk=formpermessodaaggiungere.cleaned_data.get('permessodaaggiungere'))
  327. print('pda',pda.nome)
  328. amp = AMP()
  329. amp.amministratore = amministratore
  330. amp.permesso = pda
  331. amp.save()
  332. data['pane']='Permesso'
  333. if 'AziendaConfermaCancellazionePermesso' in request.POST:
  334. formcancellapermesso = FormCancellaPermessi(request.POST)
  335. if formcancellapermesso.is_valid():
  336. print('form valida formcancellapermesso')
  337. aziendadarimuovere = formcancellapermesso.cleaned_data.get('ConfermaCancellazionePermesso')
  338. print('azienda da rimuovere',aziendadarimuovere)
  339. #prima cosa togliamo i diritti alle sedi
  340. aztorm = None
  341. try:
  342. aztorm = Azienda.objects.get(pk=aziendadarimuovere)
  343. except Azienda.DoesNotExist:
  344. print('Azienda non trovata',aziendadarimuovere)
  345. print('azienda trovata',aztorm.nome)
  346. print("Iniziamo dalle sedi")
  347. sedi = aztorm.sede_set.all()
  348. for tmp in sedi:
  349. print('sede',tmp.nome)
  350. for p in tmp.sep_set.all():
  351. print('permesso',p.permesso.nome)
  352. p.delete()
  353. print("Ora tocca all'azienda")
  354. for p in aztorm.azp_set.all():
  355. print('permesso azienda',p.permesso.nome)
  356. p.delete()
  357. data['pane'] = "Azienda"
  358. listaaziendatutte = Azienda.objects.all()
  359. if amministratore.id:
  360. data['listaazienda'] = listaAZP(amministratore)[0]
  361. data['listaaziendadiff'] = list(set(listaaziendatutte)-set(data['listaazienda']))
  362. else:
  363. data['listaaziendadiff'] = list(set(listaaziendatutte))
  364. if 'AziendaDaAggiungereButton' in request.POST:
  365. formaziendamancante=FormAziendaMancante(request.POST)
  366. formaziendamancante.c(data['listaaziendadiff'])
  367. #print('fam',formaziendamancante)
  368. if formaziendamancante.is_valid():
  369. print('form valida formaziendamancante')
  370. aziendadaaggiungere = formaziendamancante.cleaned_data.get('aziendadaaggiungere')
  371. print('Azienda da aggiungere',aziendadaaggiungere)
  372. aztoadd = None
  373. try:
  374. aztoadd = Azienda.objects.get(pk=aziendadaaggiungere)
  375. except Azienda.DoesNotExist as dne:
  376. print("Azienda non trovata",aziendadaaggiungere)
  377. if aztoadd:
  378. print('Azienda in corso di aggiunta',aztoadd.nome)
  379. azp = AZP()
  380. azp.azienda = aztoadd
  381. azp.amministratore = amministratore
  382. azp.permesso = getPermesso("AZIENDA")
  383. print('permesso base',getPermesso("AZIENDA").nome)
  384. azp.save()
  385. print(azp.id)
  386. data['pane']='Azienda'
  387. if 'AziendaSelect' in request.POST:
  388. print('Richiesta Selezione Azienda')
  389. formaziendaselect = FormAziendaSelect(request.POST)
  390. if formaziendaselect.is_valid():
  391. print('FormAziendaSelect valido')
  392. aziendaselect = formaziendaselect.cleaned_data.get('AziendaSelect')
  393. request.session['aziendaselect'] = aziendaselect
  394. print('aziendaselect',aziendaselect)
  395. # una volta ottenuta l'azienda, selezioniamo le sedi:
  396. # le selezioni sono due:
  397. # 1 lista delle sedi gia' associate all'utente attraverso il permesso(SEP)
  398. # 2 lista delle sedi ancora da assegnare (tolte le sedi gia' assegnate)
  399. data['listasede'] = listaSEP(aziendaselect,amministratore)[0]
  400. data['listasedediff']= list(set(Azienda.objects.get(pk=aziendaselect).sede_set.all()) - set(listaSEP(aziendaselect,amministratore)[0]))
  401. print("lista sede",len(data['listasede']))
  402. data['pane']='Azienda'
  403. if 'SedeConfermaCancellazionePermesso' in request.POST:
  404. print('Richiesta cancellazione Permessi Sede')
  405. if 'SedeDaAggiungereButton' in request.POST:
  406. if 'aziendaselect' in request.session:
  407. aziendaselect = request.session.get('aziendaselect')
  408. print('Richiesta Sede da aggiungere')
  409. data['listasede'] = listaSEP(aziendaselect,amministratore)[0]
  410. data['listasedediff']= list(set(Azienda.objects.get(pk=aziendaselect).sede_set.all()) - set(listaSEP(aziendaselect,amministratore)[0]))
  411. print('listasedediff len',len(data['listasedediff']))
  412. formsedemancante = FormSedeMancante(request.POST,lista=data['listasedediff'])
  413. #formsedemancante.c(data['listasedediff'])
  414. if 'ListaSedeMancante' in request.POST:
  415. print('ListaSedeMancante',request.POST['ListaSedeMancanteSelect'])
  416. if formsedemancante.is_valid():
  417. listasedemancante = formsedemancante.cleaned_data.get('ListaSedeMancanteSelect')
  418. print(listasedemancante)
  419. for lsm in listasedemancante:
  420. setSEP(Sede.objects.get(pk=lsm),amministratore,Permesso.objects.get(nome="SEDE"))
  421. #else: print(formsedemancante)
  422. '''
  423. ### editing amministratore senza ulteriori funzioni ###
  424. def editAmministratore(request):
  425. if not 'AdminId' in request.session:
  426. return HttpResponseRedirect(reverse("login:start"))
  427. ### funzioni esterne ###
  428. d = DataDict()
  429. data = d.getData()
  430. data['NavBar']=True
  431. data['ShowSelectAzienda'] = False
  432. data['ShowSelectSede'] = False
  433. define = Define(request)
  434. data['admin'] = define.getAdmin()
  435. data['azienda'] = define.getAzienda()
  436. data['AziendaId'] = define.getAziendaId()
  437. data['sede'] = define.getSede()
  438. data['SedeId'] = define.getSedeId()
  439. print('cazzo cazzo')
  440. ### funzioni esterne fine ###
  441. if 'AdminId' in request.session:
  442. data['AdminId'] = request.session['AdminId']
  443. admin = Amministratore.objects.get(pk=data['AdminId'])
  444. data['admin'] = admin
  445. print('admin',admin.id,admin.nome)
  446. data['permesso'] = getAMP(admin)[0]
  447. amministratore = data['admin']
  448. print('amministratore',amministratore.id,amministratore.nome)
  449. if request.method == 'POST':
  450. print("qualcosa e' stato premuto")
  451. if 'indietro' in request.POST:
  452. return HttpResponseRedirect(reverse("azienda:welcome"))
  453. if 'AmministratoreUpdateButton' in request.POST:
  454. formamministratore = FormAmministratore(request.POST)
  455. if formamministratore.is_valid():
  456. print('form valida formamministratore')
  457. amministratore.login=formamministratore.cleaned_data.get('login')
  458. amministratore.nome=formamministratore.cleaned_data.get('nome')
  459. amministratore.mail=formamministratore.cleaned_data.get('mail')
  460. amministratore.pin=formamministratore.cleaned_data.get('pin')
  461. amministratore.save()
  462. print('id amministratore salvato/nuovo',amministratore.id,":",amministratore.nome)
  463. tmp = dict()
  464. tmp['nome'] = amministratore.nome
  465. tmp['login'] = amministratore.login
  466. tmp['pin'] = amministratore.pin
  467. tmp['mail'] = amministratore.mail
  468. data['amministratore'] = FormAmministratore(tmp)
  469. return render(request,'amministratore.edit.amministratore.edit.html',data)