views.py 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. from django.shortcuts import render
  2. from django.http import HttpResponseRedirect
  3. from django.urls import reverse
  4. from .models import *
  5. from django.contrib.auth.models import User
  6. from config.views import *
  7. from att.views import *
  8. from .forms import *
  9. def welcome(request):
  10. if not 'AdminId' in request.session:
  11. return HttpResponseRedirect(reverse("login:start"))
  12. AdminId = request.session['AdminId']
  13. data = dict()
  14. data['Navbar']=True
  15. data['HeaderTitle'] = getConfig('HeaderTitle')
  16. u = User.objects.get(pk=AdminId)
  17. data['admin'] = u
  18. a = Assegnazione.objects.filter(user=u.id)
  19. print(len(a))
  20. tmplist = list()
  21. for ax in a:
  22. tmplist.append(ax.azienda)
  23. data['listaAttivitaxAmministrazione']=getLogxAmministrazione(u)
  24. if request.method=="POST":
  25. print(request.POST)
  26. if 'ritorna' in request.POST:
  27. print('premuto tast ritorno,logout')
  28. return HttpResponseRedirect(reverse("login:start"))
  29. if "sceltaazienda" in request.POST:
  30. sceltaazienda = int(request.POST.get('sceltaazienda'))
  31. print("sceltaazienda = ",request.POST.get('sceltaazienda'))
  32. if sceltaazienda == 0: #richiesta una nuova azienda
  33. return HttpResponseRedirect(reverse('azienda:edit'))
  34. if "utenti" in request.POST:
  35. print('premuto tasto utenti')
  36. # stato premuto il tasto, tocca recuperare l'id
  37. azienda = request.POST['utenti']
  38. print('azienda x utenti',azienda)
  39. request.session['AziendaId'] = azienda
  40. return HttpResponseRedirect(reverse('utente:welcome'))
  41. if 'documenti' in request.POST:
  42. # stato premuto il tasto documenti
  43. azienda = request.POST['documenti']
  44. print('premuto tasto documenti',azienda)
  45. print('azienda x documenti',azienda)
  46. request.session['AziendaId'] = azienda
  47. return HttpResponseRedirect(reverse('documento:welcome'))
  48. if "attivita" in request.POST:
  49. print('premuto tasto attivita')
  50. a = request.POST['attivita']
  51. azienda = Azienda.objects.get(pk = a)
  52. request.session['AziendaId'] = azienda.id
  53. print('azienda x documenti',azienda.nome)
  54. data['listaAttivitaxAzienda']=getLogxAzienda(azienda)
  55. if 'comunicazioni' in request.POST:
  56. print('premuto tasto comunicazioni')
  57. a = request.POST['comunicazioni']
  58. azienda = Azienda.objects.get(pk = a)
  59. request.session['AziendaId'] = azienda.id
  60. print('azienda x comunicazioni',azienda.nome)
  61. return HttpResponseRedirect(reverse('comunicazione:welcome'))
  62. data['azienda'] = tmplist
  63. return render(request,'azienda.welcome.html',data)
  64. def edit(request):
  65. AdminId = request.session['AdminId']
  66. data={}
  67. data['HeaderTitle'] = getConfig('HeaderTitle')
  68. data['admin' ] = User.objects.get(pk=AdminId)
  69. if request.method == "POST":
  70. print("Richiesta creazione nuova azienda")
  71. nuovaazienda = formAzienda(request.POST)
  72. if nuovaazienda.is_valid():
  73. print("il form e' valido",request.POST)
  74. azienda = Azienda()
  75. azienda.nome = nuovaazienda.cleaned_data.get('nome')
  76. azienda.mail = nuovaazienda.cleaned_data.get('mail')
  77. azienda.partitaiva = nuovaazienda.cleaned_data.get('partitaiva')
  78. azienda.save()
  79. request.session['aziendaId'] = azienda.id
  80. assegnazione = Assegnazione()
  81. assegnazione.azienda=azienda
  82. assegnazione.user=User.objects.get(pk=AdminId)
  83. assegnazione.save()
  84. return HttpResponseRedirect(reverse('azienda:welcome'))
  85. else:
  86. print("form non valido")
  87. data['azienda'] = formAzienda(request.POST)
  88. else: #non è un post
  89. print("Non è un post")
  90. formAziendaField = formAzienda()
  91. data['azienda'] = formAziendaField
  92. return render(request,'azienda.edit.html',data)