views.py~ 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. from django.shortcuts import render
  2. from django.http import HttpResponse,HttpResponseRedirect,FileResponse
  3. from django.contrib.auth.models import User
  4. from django.urls import reverse
  5. from .models import *
  6. from .forms import *
  7. from config.views import *
  8. def welcome(request):
  9. data = dict()
  10. data['HeaderTitle'] = getConfig('HeaderTitle')
  11. if not 'AziendaId' in request.session:
  12. return HttpResponseRedirect(reverse("login:start"))
  13. else:
  14. data['AziendaId'] = request.session['AziendaId']
  15. if not 'AdminId' in request.session or 'UserId' in request.session:
  16. print("Non rilevo presensa UserId e AdminId in request.session")
  17. return HttpResponseRedirect(reverse("login:start"))
  18. if 'AdminId' in request.session:
  19. data['AdminId'] = request.session['AdminId']
  20. if 'UserId' in request.session:
  21. data['UserId'] = request.session['UserId']
  22. #filtro:
  23. # selezionare tutti gli utenti per AziendaId
  24. data['admin'] = User.objects.get(pk=data['AdminId'])
  25. data['azienda'] = Azienda.objects.get(pk=data['AziendaId'])
  26. data['utenti'] = data['azienda'].utente_set.all()
  27. if request.method == 'POST':
  28. print('qualcuno ha premuto un id')
  29. if 'scelta' in request.POST:
  30. scelta = request.POST['scelta']
  31. request.session['UserEditId'] = scelta
  32. print('scelta effettuata',scelta)
  33. return HttpResponseRedirect(reverse("utente:edit"))
  34. return render(request,'utente.welcome.html',data)
  35. def edit(request):
  36. data=dict()
  37. if not 'AdminId' in request.session:
  38. return HttpResponseRedirect(reverse("login:start"))
  39. data['AdminId']=request.session['AdminId']
  40. if not 'AziendaId' in request.session:
  41. return HttpResponseRedirect(reverse("login:start"))
  42. data['AziendaId']=request.session['AziendaId']
  43. if not 'AdminId' in request.session or 'UserId' in request.session:
  44. print("Non rilevo presensa UserId e AdminId in request.session")
  45. return HttpResponseRedirect(reverse("login:start"))
  46. if 'AdminId' in request.session:
  47. data['AdminId'] = request.session['AdminId']
  48. if 'UserId' in request.session:
  49. data['UserId'] = request.session['UserId']
  50. if not'UserEditId' in request.session:
  51. return HttpResponseRedirect(reverse("login:start"))
  52. data['UserEditId'] = request.session['UserEditId']
  53. #filtro:
  54. # selezionare tutti gli utenti per AziendaId
  55. data['admin'] = User.objects.get(pk=data['AdminId'])
  56. data['azienda'] = Azienda.objects.get(pk=data['AziendaId'])
  57. utente = None
  58. if data['UserEditId'] == 0:
  59. utente = Utente()
  60. utente.azienda = data['azienda']
  61. else:
  62. try:
  63. utente = Utente.objects.get(pk=data['UserEditId'])
  64. except Utente.DoesNotExist as dne:
  65. print('strana richiesta, utente inesistente')
  66. flagDne=True
  67. utente=None
  68. print("Non ci siamo, manca l'utente")
  69. if request.method == 'POST':
  70. print('request.method x edit utente')
  71. fu = formUtente(request.POST)
  72. if fu.is_valid():
  73. print('form valida')
  74. print('i dati sono grosso modo coerenti, salviamoli')
  75. utente.nome = fu.cleaned_data['nome']
  76. utente.codicefiscale = fu.cleaned_data['codicefiscale']
  77. utente.luogonascita = fu.cleaned_data['luogonascita']
  78. utente.datanascita = fu.cleaned_data['datanascita']
  79. utente.mail = fu.cleaned_data['mail']
  80. utente.save()
  81. data['utente'] = formUtente(request.POST)
  82. else:
  83. print('Form non valida')
  84. data['utente'] = formUtente(request.POST)
  85. else:
  86. print('Request non valida')
  87. tmp = dict()
  88. tmp['nome'] = utente.nome
  89. tmp['codicefiscale'] = utente.codicefiscale
  90. tmp['datanascita'] = utente.datanascita
  91. tmp['luogonascita'] = utente.luogonascita
  92. tmp['mail'] = utente.mail
  93. data['utente'] = formUtente(tmp)
  94. return render(request,'utente.edit.html',data)