views.py 8.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268
  1. from django.shortcuts import render
  2. from django.http import HttpResponseRedirect
  3. from django.urls import reverse
  4. from .models import *
  5. from config.views import *
  6. from att.views import *
  7. from .forms import *
  8. def welcome(request):
  9. if not 'AdminId' in request.session:
  10. return HttpResponseRedirect(reverse("login:start"))
  11. AdminId = request.session['AdminId']
  12. print('AdminId',AdminId)
  13. data = dict()
  14. if 'AziendaId' in request.session:
  15. AziendaId = request.session['AziendaId']
  16. print('AziendaId',AziendaId)
  17. azienda = Azienda.objects.get(pk=AziendaId)
  18. data['azienda'] = azienda
  19. if 'SedeId' in request.session:
  20. SedeId = request.session['SedeId']
  21. print('SedeId',SedeId)
  22. sede = Sede.objects.get(pk=SedeId)
  23. data['sede'] = sede
  24. data['Navbar']=True
  25. data['HeaderTitle'] = getConfig('HeaderTitle')
  26. admin = Amministratore.objects.get(pk=AdminId)
  27. data['admin'] = admin
  28. print('admin',admin.id,admin.nome)
  29. assegnazione = Assegnazione.objects.filter(user=admin.id)
  30. print('assegnazione',len(assegnazione))
  31. data['listaAttivitaxAmministrazione']=getLogxAmministrazione(admin)
  32. if request.method=="POST":
  33. print(request.POST)
  34. if 'ritorna' in request.POST:
  35. print('premuto tast ritorno,logout')
  36. return HttpResponseRedirect(reverse("login:start"))
  37. if "sceltaazienda" in request.POST:
  38. sceltaazienda = request.POST.get('sceltaazienda')
  39. try:
  40. sceltaazienda = int(sceltaazienda)
  41. except ValueError as ve:
  42. print("Non e' stata fatta la scelta corretta")
  43. print(ve)
  44. return HttpResponseRedirect(reverse('azienda:welcome'))
  45. print("sceltaazienda = ",request.POST.get('sceltaazienda'))
  46. # attività su nuova/edit azienda
  47. if sceltaazienda == -1: #richiesta una nuova azienda
  48. print('sceltaazienda -1:',sceltaazienda)
  49. #return HttpResponseRedirect(reverse('azienda:editAzienda'))
  50. elif sceltaazienda == 0:
  51. print('sceltaazienda 0:',sceltaazienda)
  52. request.session['AziendaIdEdit'] = 0
  53. print('AziendaId',request.session['AziendaId'])
  54. return HttpResponseRedirect(reverse('azienda:editAzienda'))
  55. else:
  56. try:
  57. azienda = Azienda.objects.get(pk=sceltaazienda)
  58. data['azienda'] = azienda
  59. request.session['AziendaId'] = azienda.id
  60. except Azienda.DoesNotExist as dne:
  61. print("errore, oggetto inesistente",dne)
  62. if "sceltasede" in request.POST:
  63. sceltasede = request.POST.get('sceltasede')
  64. try:
  65. sceltasede = int(sceltasede)
  66. except ValueError as ve:
  67. print("Non e' stata fatta la scelta corretta")
  68. print(ve)
  69. return HttpResponseRedirect(reverse('azienda:welcome'))
  70. print("sceltasede = ",request.POST.get('sceltasede'))
  71. if sceltasede == 0: #richiesta una nuova azienda
  72. data['SedeId']=None
  73. #return HttpResponseRedirect(reverse('azienda:editSede'))
  74. elif sceltasede != -1:
  75. sede = Sede.objects.get(pk=sceltasede)
  76. data['sede'] = sede
  77. request.session['SedeId'] = sede.id
  78. if "utenti" in request.POST:
  79. print('premuto tasto utenti')
  80. return HttpResponseRedirect(reverse('utente:welcome'))
  81. if 'documenti' in request.POST:
  82. # stato premuto il tasto documenti
  83. print('premuto tasto documenti')
  84. return HttpResponseRedirect(reverse('documento:welcome'))
  85. if "attivita" in request.POST:
  86. print('premuto tasto attivita')
  87. data['listaAttivitaxAzienda']=getLogxAzienda(azienda)
  88. if 'comunicazioni' in request.POST:
  89. print('premuto tasto comunicazioni')
  90. return HttpResponseRedirect(reverse('comunicazione:welcome'))
  91. if 'parazienda' in request.POST:
  92. print('premuto tasto Par.Azienda')
  93. azid = request.POST.get('parazienda')
  94. print('azienda passata',request.POST.get('parazienda'))
  95. azienda = Azienda.objects.get(pk=azid)
  96. request.session['AziendaId'] = azienda.id
  97. request.session['AziendaIdEdit'] = azienda.id
  98. return HttpResponseRedirect(reverse('azienda:editAzienda'))
  99. tmplist = list()
  100. for tmp in assegnazione:
  101. tmplist.append(tmp.azienda)
  102. data['aziendaLista'] = tmplist
  103. if 'azienda' in data:
  104. print('azienda selezionata:',data['azienda'].nome)
  105. data['sedelista'] = data['azienda'].sede_set.all()
  106. print('data',data)
  107. print('numero aziende',len(data['aziendaLista']))
  108. return render(request,'azienda.welcome.html',data)
  109. # creazione azienda
  110. def editAzienda(request):
  111. AdminId = request.session['AdminId']
  112. data={}
  113. data['HeaderTitle'] = getConfig('HeaderTitle')
  114. user = data['admin'] = User.objects.get(pk=AdminId)
  115. azienda = None
  116. if 'AziendaIdEdit' in request.session:
  117. print('trovato riferimento AziendaIdEdit',request.session.get('AziendaIdEdit'))
  118. azid = request.session.get('AziendaIdEdit')
  119. try:
  120. azienda = Azienda.objects.get(pk=azid)
  121. print('azienda trovata',azienda.nome)
  122. except Azienda.DoesNotExist as dnf:
  123. print(dnf)
  124. if request.method == "POST":
  125. print("Richiesta creazione nuova azienda")
  126. nuovaazienda = formAzienda(request.POST)
  127. if nuovaazienda.is_valid():
  128. print("il form e' valido",request.POST)
  129. if not azienda:
  130. azienda = Azienda()
  131. azienda.nome = nuovaazienda.cleaned_data.get('nome')
  132. azienda.mail = nuovaazienda.cleaned_data.get('mail')
  133. azienda.partitaiva = nuovaazienda.cleaned_data.get('partitaiva')
  134. azienda.save()
  135. request.session['AziendaIdEdit'] = azienda.id
  136. print('azienda:',azienda.id)
  137. assegnazione = Assegnazione()
  138. if azienda:
  139. assegnazione = Assegnazione.objects.get(azienda=azienda.id,user=user.id)
  140. assegnazione.azienda=azienda
  141. assegnazione.user=User.objects.get(pk=AdminId)
  142. assegnazione.save()
  143. del request.session['AziendaIdEdit']
  144. return HttpResponseRedirect(reverse('azienda:welcome'))
  145. else:
  146. print("form non valido")
  147. data['azienda'] = formAzienda(request.POST)
  148. else: #non è un post
  149. print("Non è un post")
  150. formAziendaField = None
  151. if azienda:
  152. print('Abbiamo azienda',azienda.nome)
  153. tmp = dict()
  154. tmp['id'] = azienda.id
  155. tmp['nome'] = azienda.nome
  156. tmp['partitaiva'] = azienda.partitaiva
  157. tmp['mail'] = azienda.mail
  158. tmp['forzanuovapassword'] = True
  159. formAziendaField = formAzienda(tmp)
  160. else:
  161. tmp = dict()
  162. tmp['nome'] = ''
  163. tmp['partitaiva'] = ''
  164. tmp['mail'] = user.email
  165. tmp['forzanuovapassword'] = True
  166. formAziendaField = formAzienda(tmp)
  167. data['azienda'] = formAziendaField
  168. return render(request,'azienda.editAzienda.html',data)
  169. def editSede(request):
  170. AdminId = request.session['AdminId']
  171. data={}
  172. data['HeaderTitle'] = getConfig('HeaderTitle')
  173. user = data['admin'] = User.objects.get(pk=AdminId)
  174. if 'AziendaId' in request.session:
  175. print('trovato riferimento AziendaId',request.session.get('AziendaId'))
  176. azid = request.session.get('AziendaId')
  177. try:
  178. azienda = Azienda.objects.get(pk=azid)
  179. print('azienda trovata',azienda.nome)
  180. except Azienda.DoesNotFound as dnf:
  181. print(dnf)
  182. if request.method == "POST":
  183. print("Richiesta creazione nuova azienda")
  184. nuovaazienda = formAzienda(request.POST)
  185. if nuovaazienda.is_valid():
  186. print("il form e' valido",request.POST)
  187. if not azienda:
  188. azienda = Azienda()
  189. azienda.nome = nuovaazienda.cleaned_data.get('nome')
  190. azienda.mail = nuovaazienda.cleaned_data.get('mail')
  191. azienda.partitaiva = nuovaazienda.cleaned_data.get('partitaiva')
  192. azienda.save()
  193. request.session['AziendaId'] = azienda.id
  194. print('azienda:',azienda.id)
  195. assegnazione = Assegnazione()
  196. if azienda:
  197. assegnazione = Assegnazione.objects.get(azienda=azienda,user=user)
  198. assegnazione.azienda=azienda
  199. assegnazione.user=User.objects.get(pk=AdminId)
  200. assegnazione.save()
  201. return HttpResponseRedirect(reverse('azienda:welcome'))
  202. else:
  203. print("form non valido")
  204. data['azienda'] = formAzienda(request.POST)
  205. else: #non è un post
  206. print("Non è un post")
  207. formAziendaField = None
  208. if azienda:
  209. print('Abbiamo azienda',azienda.nome)
  210. tmp = dict()
  211. tmp['id'] = azienda.id
  212. tmp['nome'] = azienda.nome
  213. tmp['partitaiva'] = azienda.partitaiva
  214. tmp['mail'] = azienda.mail
  215. tmp['forzanuovapassword'] = True
  216. formAziendaField = formAzienda(tmp)
  217. else:
  218. tmp = dict()
  219. tmp['nome'] = ''
  220. tmp['partitaiva'] = ''
  221. tmp['mail'] = user.email
  222. tmp['forzanuovapassword'] = True
  223. formAziendaField = formAzienda(tmp)
  224. data['azienda'] = formAziendaField
  225. return render(request,'azienda.editAzienda.html',data)