views.py 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. from django.shortcuts import render
  2. # Create your views here.
  3. from django.shortcuts import render
  4. from .models import *
  5. from att.views import *
  6. from config.views import *
  7. # riporta tutti i permessi mixando i tre livelli
  8. def getP(azienda=None,sede=None,amministratore=None):
  9. if isinstance(jolly,Azienda):
  10. pass
  11. # riporta l'elenco dei permessi per amministratore
  12. def getAMP(amministratore=None):
  13. amm=None
  14. print('getAMP',amministratore)
  15. if isinstance(amministratore,Amministratore):
  16. print('si tratta di una istanza, quindi possiamo direttamente accedere')
  17. amm = amministratore
  18. if isinstance(amministratore,int):
  19. print('si tratta di un int, quindi dobbiamo cercare il valore')
  20. amm = Amministratore.objects.get(pk=amministratore)
  21. permessi = list()
  22. for p in amm.amp_set.all():
  23. permessi.append(p.permesso.nome)
  24. print('permessi disponibili',len(permessi))
  25. #for i in permessi: print(i,)
  26. return permessi
  27. #riporta l'elenco dei permessi per azienda, filtrato per amministratore
  28. def getAZP(azienda=None,amministratore=None):
  29. azi = None
  30. if isinstance(azienda,Azienda):
  31. print('si tratta di una istanza azienda')
  32. azi=azienda
  33. if isinstance(azienda,int):
  34. print('azienda: istanza int')
  35. azi = Azienda.objects.get(pk=azienda)
  36. amm=None
  37. print('getAMP',amministratore)
  38. if isinstance(amministratore,Amministratore):
  39. print('si tratta di una istanza, quindi possiamo direttamente accedere')
  40. amm = amministratore
  41. if isinstance(amministratore,int):
  42. print('si tratta di un int, quindi dobbiamo cercare il valore')
  43. amm = Amministratore.objects.get(pk=amministratore)
  44. if not amm:
  45. return []
  46. if not azi:
  47. return []
  48. permessi = list()
  49. for p in azi.azp_set.all().filter(amministratore=amm):
  50. permessi.append(p.permesso.nome)
  51. print('permessi disponibili',len(permessi))
  52. #for i in permessi: print(i,)
  53. return permessi
  54. '''
  55. for p in amm.amp_set.filter(amministratore=amm):
  56. permessi.append(p.permesso.nome)
  57. print('permessi disponibili',len(permessi))
  58. #for i in permessi: print(i,)
  59. return permessi
  60. '''
  61. #riporta l'elenco dei permessi per sede filtrato per amministratore
  62. def getSEP(sede=None,amministratore=None):
  63. sed=None
  64. amm=None
  65. print('getSEP',sede,amministratore)
  66. if isinstance(sede,Sede):
  67. print('si tratta di una istanza dede')
  68. sed=sede
  69. if isinstance(sede,int):
  70. print('sede: istanza int')
  71. sed = Sede.objects.get(pk=sede)
  72. if isinstance(amministratore,Amministratore):
  73. print('si tratta di una istanza amministratore, quindi possiamo direttamente accedere')
  74. amm = amministratore
  75. if isinstance(amministratore,int):
  76. print('si tratta di un int, quindi dobbiamo cercare il valore')
  77. amm = Amministratore.objects.get(pk=amministratore)
  78. if not sed:
  79. return []
  80. permessi = list()
  81. for p in sed.sep_set.all().filter(amministratore=amm):
  82. permessi.append(p.permesso.nome)
  83. print('permessi disponibili',len(permessi))
  84. #for i in permessi: print(i,)
  85. return permessi
  86. # riporta un permesso (generico) o tutti i permessi
  87. def getPermesso(permesso=None):
  88. if permesso:
  89. try:
  90. p = Permesso.objects.get(nome=permesso)
  91. except Permesso.DoesNotExist as dne:
  92. p = None
  93. print("Errore:",dne)
  94. else:
  95. p = Permesso.objects.all()
  96. return p
  97. # da questa parte si impostano i permessi
  98. def setAMP(amministratore=None,permesso=None):
  99. pass
  100. def setAZP(azienda=None,amministratore=None,permesso=None):
  101. pass
  102. def setSEP(sede=None,amministratore=None,permesso=None):
  103. pass