views.py 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266
  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. <<<<<<< HEAD
  47. if sceltaazienda < 1 : #richiesta una nuova azienda
  48. if 'AziendaId' in data:
  49. data['AziendaId'] = none
  50. return HttpResponseRedirect(reverse('azienda:edit'))
  51. =======
  52. if sceltaazienda < 1: #richiesta una nuova azienda
  53. data['AziendaId']=None
  54. return HttpResponseRedirect(reverse('azienda:editAzienda'))
  55. >>>>>>> origin/Sede
  56. else:
  57. try:
  58. azienda = Azienda.objects.get(pk=sceltaazienda)
  59. data['azienda'] = azienda
  60. request.session['AziendaId'] = azienda.id
  61. except Azienda.DoesNotExist as dne:
  62. print("errore, oggetto inesistente",dne)
  63. if "sceltasede" in request.POST:
  64. sceltasede = request.POST.get('sceltasede')
  65. try:
  66. sceltasede = int(sceltasede)
  67. except ValueError as ve:
  68. print("Non e' stata fatta la scelta corretta")
  69. print(ve)
  70. return HttpResponseRedirect(reverse('azienda:welcome'))
  71. print("sceltasede = ",request.POST.get('sceltasede'))
  72. if sceltasede == 0: #richiesta una nuova azienda
  73. data['SedeId']=None
  74. #return HttpResponseRedirect(reverse('azienda:editSede'))
  75. elif sceltasede != -1:
  76. sede = Sede.objects.get(pk=sceltasede)
  77. data['sede'] = sede
  78. request.session['SedeId'] = sede.id
  79. if "utenti" in request.POST:
  80. print('premuto tasto utenti')
  81. return HttpResponseRedirect(reverse('utente:welcome'))
  82. if 'documenti' in request.POST:
  83. # stato premuto il tasto documenti
  84. print('premuto tasto documenti')
  85. return HttpResponseRedirect(reverse('documento:welcome'))
  86. if "attivita" in request.POST:
  87. print('premuto tasto attivita')
  88. data['listaAttivitaxAzienda']=getLogxAzienda(azienda)
  89. if 'comunicazioni' in request.POST:
  90. print('premuto tasto comunicazioni')
  91. return HttpResponseRedirect(reverse('comunicazione:welcome'))
  92. if 'parazienda' in request.POST:
  93. print('premuto tasto Par.Azienda')
  94. azid = request.POST.get('parazienda')
  95. print('azienda passata',request.POST.get('parazienda'))
  96. azienda = Azienda.objects.get(pk=azid)
  97. request.session['AziendaId'] = 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 'AziendaId' in request.session:
  117. print('trovato riferimento AziendaId',request.session.get('AziendaId'))
  118. azid = request.session.get('AziendaId')
  119. try:
  120. azienda = Azienda.objects.get(pk=azid)
  121. print('azienda trovata',azienda.nome)
  122. except Azienda.DoesNotFound 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['AziendaId'] = azienda.id
  136. print('azienda:',azienda.id)
  137. assegnazione = Assegnazione()
  138. if azienda:
  139. assegnazione = Assegnazione.objects.get(azienda=azienda,user=user)
  140. assegnazione.azienda=azienda
  141. assegnazione.user=User.objects.get(pk=AdminId)
  142. assegnazione.save()
  143. return HttpResponseRedirect(reverse('azienda:welcome'))
  144. else:
  145. print("form non valido")
  146. data['azienda'] = formAzienda(request.POST)
  147. else: #non è un post
  148. print("Non è un post")
  149. formAziendaField = None
  150. if azienda:
  151. print('Abbiamo azienda',azienda.nome)
  152. tmp = dict()
  153. tmp['id'] = azienda.id
  154. tmp['nome'] = azienda.nome
  155. tmp['partitaiva'] = azienda.partitaiva
  156. tmp['mail'] = azienda.mail
  157. tmp['forzanuovapassword'] = True
  158. formAziendaField = formAzienda(tmp)
  159. else:
  160. tmp = dict()
  161. tmp['nome'] = ''
  162. tmp['partitaiva'] = ''
  163. tmp['mail'] = user.email
  164. tmp['forzanuovapassword'] = True
  165. formAziendaField = formAzienda(tmp)
  166. data['azienda'] = formAziendaField
  167. return render(request,'azienda.editAzienda.html',data)
  168. def editSede(request):
  169. AdminId = request.session['AdminId']
  170. data={}
  171. data['HeaderTitle'] = getConfig('HeaderTitle')
  172. user = data['admin'] = User.objects.get(pk=AdminId)
  173. if 'AziendaId' in request.session:
  174. print('trovato riferimento AziendaId',request.session.get('AziendaId'))
  175. azid = request.session.get('AziendaId')
  176. try:
  177. azienda = Azienda.objects.get(pk=azid)
  178. print('azienda trovata',azienda.nome)
  179. except Azienda.DoesNotFound as dnf:
  180. print(dnf)
  181. if request.method == "POST":
  182. print("Richiesta creazione nuova azienda")
  183. nuovaazienda = formAzienda(request.POST)
  184. if nuovaazienda.is_valid():
  185. print("il form e' valido",request.POST)
  186. if not azienda:
  187. azienda = Azienda()
  188. azienda.nome = nuovaazienda.cleaned_data.get('nome')
  189. azienda.mail = nuovaazienda.cleaned_data.get('mail')
  190. azienda.partitaiva = nuovaazienda.cleaned_data.get('partitaiva')
  191. azienda.save()
  192. request.session['AziendaId'] = azienda.id
  193. print('azienda:',azienda.id)
  194. assegnazione = Assegnazione()
  195. if azienda:
  196. assegnazione = Assegnazione.objects.get(azienda=azienda,user=user)
  197. assegnazione.azienda=azienda
  198. assegnazione.user=User.objects.get(pk=AdminId)
  199. assegnazione.save()
  200. return HttpResponseRedirect(reverse('azienda:welcome'))
  201. else:
  202. print("form non valido")
  203. data['azienda'] = formAzienda(request.POST)
  204. else: #non è un post
  205. print("Non è un post")
  206. formAziendaField = None
  207. if azienda:
  208. print('Abbiamo azienda',azienda.nome)
  209. tmp = dict()
  210. tmp['id'] = azienda.id
  211. tmp['nome'] = azienda.nome
  212. tmp['partitaiva'] = azienda.partitaiva
  213. tmp['mail'] = azienda.mail
  214. tmp['forzanuovapassword'] = True
  215. formAziendaField = formAzienda(tmp)
  216. else:
  217. tmp = dict()
  218. tmp['nome'] = ''
  219. tmp['partitaiva'] = ''
  220. tmp['mail'] = user.email
  221. tmp['forzanuovapassword'] = True
  222. formAziendaField = formAzienda(tmp)
  223. data['azienda'] = formAziendaField
  224. return render(request,'azienda.editAzienda.html',data)