|
|
@@ -1,6 +1,7 @@
|
|
|
from django.shortcuts import render
|
|
|
from django.http import HttpResponseRedirect
|
|
|
from django.db.utils import IntegrityError
|
|
|
+from django.db.models import Q
|
|
|
from django.urls import reverse
|
|
|
from .models import *
|
|
|
from config.views import *
|
|
|
@@ -10,6 +11,7 @@ from .forms import *
|
|
|
from sicurezza.views import *
|
|
|
from random import randint
|
|
|
|
|
|
+# lista aziende
|
|
|
def welcome(request):
|
|
|
|
|
|
if not 'AdminId' in request.session:
|
|
|
@@ -223,7 +225,7 @@ def welcome(request):
|
|
|
|
|
|
return render(request,'azienda.welcome.html',data)
|
|
|
|
|
|
-# creazione azienda
|
|
|
+# Edit/Creazione Azienda
|
|
|
def editAzienda(request):
|
|
|
|
|
|
if not 'AdminId' in request.session:
|
|
|
@@ -376,6 +378,7 @@ def editAzienda(request):
|
|
|
|
|
|
return render(request,'azienda.editAzienda.html',data)
|
|
|
|
|
|
+# edit Permessi Azienda
|
|
|
def editAziendaPermesso(request):
|
|
|
if not 'AdminId' in request.session:
|
|
|
return HttpResponseRedirect(reverse("login:start"))
|
|
|
@@ -473,73 +476,64 @@ def editAziendaPermesso(request):
|
|
|
print("listaAmministratore",len(data['listaAmministratore']))
|
|
|
|
|
|
data['listaAmministratoreDaAggiungere'] = Amministratore.objects.all()
|
|
|
- data['listaPermessoDaAggiungere'] = Permesso.objects.filter(classe="AZI")
|
|
|
+ data['listaPermessoDaAggiungere'] = Permesso.objects.filter(Q(classe="AZI")|Q(classe="SED")|Q(classe="DOC")|Q(classe="UTE"))
|
|
|
|
|
|
return render(request,"azienda.editAzienda.permessi.html",data)
|
|
|
|
|
|
+# Edit / Creazione Sede
|
|
|
def editSede(request):
|
|
|
|
|
|
if not 'AdminId' in request.session:
|
|
|
return HttpResponseRedirect(reverse("login:start"))
|
|
|
+
|
|
|
+ d = DataDict()
|
|
|
+ data = d.getData()
|
|
|
|
|
|
- data=dict()
|
|
|
- data['HeaderTitle'] = getConfig('HeaderTitle')
|
|
|
- data['Navbar']=False
|
|
|
-
|
|
|
- AdminId = request.session.get('AdminId')
|
|
|
- print('AdminId',AdminId)
|
|
|
- admin = Amministratore.objects.get(pk=AdminId)
|
|
|
- data['admin'] = admin
|
|
|
- print('admin',admin.id,admin.nome)
|
|
|
+ define = Define(request)
|
|
|
+ data['admin'] = define.getAdmin()
|
|
|
+ data['azienda'] = define.getAzienda()
|
|
|
+ data['AziendaId'] = define.getAziendaId()
|
|
|
+ data['sede'] = define.getSede()
|
|
|
+ data['SedeId'] = define.getSedeId()
|
|
|
+ data['Navbar'] = False
|
|
|
|
|
|
- azienda = None
|
|
|
- AziendaId = None
|
|
|
- if 'AziendaId' in request.session:
|
|
|
- AziendaId = request.session['AziendaId']
|
|
|
- print('AziendaId',AziendaId)
|
|
|
- azienda = Azienda.objects.get(pk=AziendaId)
|
|
|
- data['azienda'] = azienda
|
|
|
+ ### permessi inizio ###
|
|
|
+ data['permesso'] = getAMP(data['admin'])[0]
|
|
|
+ print("******",data['azienda'])
|
|
|
+ if 'azienda' in data:
|
|
|
+ print('**** azienda presente ****')
|
|
|
+ for t in getAZP(data['azienda'],data['admin'])[0]:
|
|
|
+ if t not in data['permesso']:
|
|
|
+ data['permesso'].append(t)
|
|
|
+ if 'sede' in data:
|
|
|
+ print('**** sede presente ****')
|
|
|
+ for t in getSEP(data['sede'],data['admin']):
|
|
|
+ if t not in data['permesso']:
|
|
|
+ data['permesso'].append(t)
|
|
|
+ print("Permessi Disponibili",data['permesso'])
|
|
|
|
|
|
+ ### azienda su cui effettuare le operazioni
|
|
|
sede = None
|
|
|
- if 'SedeId' in request.session:
|
|
|
- SedeId = request.session['SedeId']
|
|
|
- print('SedeId',SedeId)
|
|
|
- try:
|
|
|
- sede = Sede.objects.get(pk=SedeId)
|
|
|
- except Sede.DoesNotExist as dne:
|
|
|
- print("Sede non esiste")
|
|
|
- data['sede'] = sede
|
|
|
-
|
|
|
- sede = None
|
|
|
+ sedepresente = False
|
|
|
+
|
|
|
if 'SedeIdEdit' in request.session:
|
|
|
print('trovato riferimento SedeIdEdit',request.session.get('SedeIdEdit'))
|
|
|
seid = request.session.get('SedeIdEdit')
|
|
|
try:
|
|
|
sede = Sede.objects.get(pk=seid)
|
|
|
- print('sede trovata',sede.nome)
|
|
|
- flag = True
|
|
|
- except Sede.DoesNotExist as dne:
|
|
|
- print('Sede indicata inesistente',dne)
|
|
|
+ sedepresente = True
|
|
|
+ print('sede trovata',data['sede'].nome)
|
|
|
+ except Sede.DoesNotExist as dnf:
|
|
|
+ print(dnf)
|
|
|
sede = Sede()
|
|
|
- sede.azienda = Azienda.objects.get(pk=AziendaId)
|
|
|
+ sede.azienda = data['azienda']
|
|
|
print('sede.azienda',sede.azienda.nome)
|
|
|
sede.cambiopassword = sede.azienda.cambiopassword
|
|
|
sede.forzanuovapassword = sede.azienda.forzanuovapassword
|
|
|
sede.otppassword = sede.azienda.otppassword
|
|
|
|
|
|
- #### permessi ####
|
|
|
- data['permesso'] = getAMP(admin)[0]
|
|
|
- for t in getAZP(azienda,admin):
|
|
|
- if t not in data['permesso']:
|
|
|
- data['permesso'].append(t)
|
|
|
- for t in getSEP(data['sede'],admin):
|
|
|
- if t not in data['permesso']:
|
|
|
- data['permesso'].append(t)
|
|
|
- print('permessi:',data['permesso'])
|
|
|
- #### permessi ####
|
|
|
-
|
|
|
if request.method == "POST":
|
|
|
- print('un tasto è stato premuto')
|
|
|
+ print('un tasto è stato premuto in editSede')
|
|
|
|
|
|
if 'indietro' in request.POST:
|
|
|
return HttpResponseRedirect(reverse('azienda:welcome'))
|
|
|
@@ -586,10 +580,18 @@ def editSede(request):
|
|
|
if 'UTENTE.EDIT' in getAMP(data['admin'])[0]:
|
|
|
print('getAMP: UTENTE.EDIT')
|
|
|
setSEP(sede,data['admin'],"UTENTE.EDIT")
|
|
|
-
|
|
|
else:
|
|
|
data['sedeForm'] = formSede(request.POST)
|
|
|
-
|
|
|
+
|
|
|
+ if 'AvantiSedeButton' in request.POST:
|
|
|
+ print('premuto "AvantiSedeButton"')
|
|
|
+ ### puo' andare avanti solo se la sede gia' e' inserita
|
|
|
+ if sedepresente:
|
|
|
+ print("sede presente")
|
|
|
+ return HttpResponseRedirect(reverse('azienda:editSedePermesso'))
|
|
|
+ else:
|
|
|
+ print("sede non presente")
|
|
|
+
|
|
|
if 'CancellaSedePermessiButton' in request.POST:
|
|
|
print('premuto "CancellaSedePermessiButton"')
|
|
|
cancellasedeamministratoripermessi = request.POST.get('CancellaSedePermessiButton')
|
|
|
@@ -599,23 +601,6 @@ def editSede(request):
|
|
|
print('Permesso Sede Amministratore trovato - cancello')
|
|
|
sep.delete()
|
|
|
|
|
|
- if 'PermessoDaAggiungereButton' in request.POST:
|
|
|
- print('premuto "PermessoDaAggiungereButton"')
|
|
|
- formsedepermessi = formSedePermessi(request.POST,amministratori=Amministratore.objects.all())
|
|
|
- #formaziendapermessi.c(Amministratore.objects.all()) # alternativa: lista dei soli amministratori con autorizzazione AZIENDA in AMM
|
|
|
- #print(formaziendapermessi)
|
|
|
- if formsedepermessi.is_valid():
|
|
|
- print('formSedePermessi valida')
|
|
|
- amministratori = formsedepermessi.cleaned_data.get('ListaAmministratoriPermessi')
|
|
|
- for i in amministratori:
|
|
|
- print('amministratori da aggiungere',i)
|
|
|
- setSEP(sede,str(i),"SEDE")
|
|
|
- else:
|
|
|
- print('formSedePermessi Errore')
|
|
|
- print(formsedepermessi)
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
formsedefield = None
|
|
|
if sede:
|
|
|
print('Abbiamo sede',sede.nome)
|
|
|
@@ -630,12 +615,134 @@ def editSede(request):
|
|
|
formsedefield = formSede(tmp)
|
|
|
|
|
|
data['sedeForm'] = formsedefield
|
|
|
+
|
|
|
+ return render(request,'azienda.editSede.html',data)
|
|
|
|
|
|
- print("**** sedeId",SedeId)
|
|
|
+### Edit permessi sede
|
|
|
+### collegato a edit Sede, consente di modificare i permessi assegnati alla sede per gli utenti.
|
|
|
+def editSedePermesso(request):
|
|
|
+
|
|
|
+ if not 'AdminId' in request.session:
|
|
|
+ return HttpResponseRedirect(reverse("login:start"))
|
|
|
+
|
|
|
+ d = DataDict()
|
|
|
+ data = d.getData()
|
|
|
+
|
|
|
+ define = Define(request)
|
|
|
+ data['admin'] = define.getAdmin()
|
|
|
+ data['azienda'] = define.getAzienda()
|
|
|
+ data['AziendaId'] = define.getAziendaId()
|
|
|
+ data['sede'] = define.getSede()
|
|
|
+ data['SedeId'] = define.getSedeId()
|
|
|
+ data['Navbar'] = False
|
|
|
+
|
|
|
+ ### permessi inizio ###
|
|
|
+ data['permesso'] = getAMP(data['admin'])[0]
|
|
|
+ print("******",data['azienda'])
|
|
|
+
|
|
|
+ SedeId = request.session['SedeId']
|
|
|
+ print('SedeId',SedeId)
|
|
|
+ sede = Sede.objects.get(pk=SedeId)
|
|
|
|
|
|
- data['listaAmministratore'] = listaAMMperSede(SedeId)[1]
|
|
|
- print("lamm",data['listaAmministratore'])
|
|
|
- data['listaAmministratoreDaAggiungere'] = Amministratore.objects.all()
|
|
|
+ if request.method == 'POST':
|
|
|
+ print('un tasto è stato premuto in editSedePermesso')
|
|
|
|
|
|
- return render(request,'azienda.editSede.html',data)
|
|
|
+ if 'IndietroSedeButton' in request.POST:
|
|
|
+ return HttpResponseRedirect(reverse('azienda:editSede'))
|
|
|
+
|
|
|
+ if 'FineAziendaButton' in request.POST:
|
|
|
+ return HttpResponseRedirect(reverse('azienda:welcome'))
|
|
|
+
|
|
|
+ if 'PermessoDaAggiungereButton' in request.POST:
|
|
|
+ print('premuto "PermessoDaAggiungereButton"')
|
|
|
+ formsedepermessi = formSedePermessi(request.POST,amministratori=Amministratore.objects.all())
|
|
|
+ if formsedepermessi.is_valid():
|
|
|
+ print('formSedePermessi valida')
|
|
|
+ amministratore = formsedepermessi.cleaned_data.get('ListaAmministratori')
|
|
|
+ permesso = formsedepermessi.cleaned_data.get('ListaPermessi')
|
|
|
+
|
|
|
+ print('amministratore da aggiungere',amministratore)
|
|
|
+ print('permesso da aggiungere',permesso)
|
|
|
+
|
|
|
+ for a in amministratore:
|
|
|
+ for p in permesso:
|
|
|
+ try:
|
|
|
+ setSEP(sede,a,Permesso.objects.get(pk=str(p)))
|
|
|
+ except ValueError as ve:
|
|
|
+ print('errore in setSEP')
|
|
|
+ else:
|
|
|
+ print('formSedePermessi Errore',formsedepermessi['errors'])
|
|
|
+ data['formsedepermessi'] = formsedepermessi
|
|
|
|
|
|
+ if 'AssegnaIdenticiPermessiButton' in request.POST:
|
|
|
+ # print('premuto "AssegnaIdenticiPermessiButton"')
|
|
|
+ listapermessidisponibili = getSEP(sede,data['admin'])[0]
|
|
|
+ print('listapermessidisponibili',listapermessidisponibili)
|
|
|
+ formsedepermessi = formSedePermessi(request.POST,amministratori=Amministratore.objects.all(),permessi=Permesso.objects.all())
|
|
|
+ if formaziendapermessi.is_valid():
|
|
|
+ print('formSedePermessi valida')
|
|
|
+ amministratore = formsedepermessi.cleaned_data.get('ListaAmministratori')
|
|
|
+ for p in listapermessidisponibili:
|
|
|
+ for a in amministratore:
|
|
|
+ try:
|
|
|
+ setSEP(sede,a,p)
|
|
|
+ except ValueError as ve:
|
|
|
+ print('errore in setSEP')
|
|
|
+
|
|
|
+ if 'CancellaSedePermessiButton' in request.POST:
|
|
|
+ print('premuto "CancellaSedePermessiButton"')
|
|
|
+ cancellasedeamministratoripermessi = request.POST.get('CancellaSedePermessiButton')
|
|
|
+ print('CancellaSedeAmministratoriPermessi',cancellasedeamministratoripermessi)
|
|
|
+ sep = SEP.objects.get(pk=cancellasedeamministratoripermessi)
|
|
|
+ if sep:
|
|
|
+ print('Permesso Sede Amministratore trovato - cancello')
|
|
|
+ sep.delete()
|
|
|
+
|
|
|
+ data['listaAmministratore'] = listaAMMperSede(data['SedeId'])[1]
|
|
|
+ data['listaAmministratore'] = sorted(data['listaAmministratore'], key = lambda x: x.amministratore.nome,reverse=False)
|
|
|
+
|
|
|
+ print("listaAmministratore",len(data['listaAmministratore']))
|
|
|
+
|
|
|
+ data['listaAmministratoreDaAggiungere'] = Amministratore.objects.all()
|
|
|
+ data['listaPermessoDaAggiungere'] = Permesso.objects.filter(Q(classe="SED")|Q(classe="DOC")|Q(classe="UTE"))
|
|
|
+
|
|
|
+ return render(request,"azienda.editSede.permessi.html",data)
|
|
|
+
|
|
|
+def editAziendaDocumento(request):
|
|
|
+ if not 'AdminId' in request.session:
|
|
|
+ return HttpResponseRedirect(reverse("login:start"))
|
|
|
+
|
|
|
+ d = DataDict()
|
|
|
+ data = d.getData()
|
|
|
+
|
|
|
+ define = Define(request)
|
|
|
+ data['admin'] = define.getAdmin()
|
|
|
+ data['azienda'] = define.getAzienda()
|
|
|
+ data['AziendaId'] = define.getAziendaId()
|
|
|
+ data['sede'] = define.getSede()
|
|
|
+ data['SedeId'] = define.getSedeId()
|
|
|
+ data['Navbar'] = False
|
|
|
+
|
|
|
+ ### permessi inizio ###
|
|
|
+ data['permesso'] = getAMP(data['admin'])[0]
|
|
|
+ print("******",data['azienda'])
|
|
|
+ if 'azienda' in data:
|
|
|
+ print('**** azienda presente ****')
|
|
|
+ for t in getAZP(data['azienda'],data['admin'])[0]:
|
|
|
+ if t not in data['permesso']:
|
|
|
+ data['permesso'].append(t)
|
|
|
+ if 'sede' in data:
|
|
|
+ print('**** sede presente ****')
|
|
|
+ for t in getSEP(data['sede'],data['admin']):
|
|
|
+ if t not in data['permesso']:
|
|
|
+ data['permesso'].append(t)
|
|
|
+ print("Permessi Disponibili",data['permesso'])
|
|
|
+
|
|
|
+ AziendaId = request.session['AziendaId']
|
|
|
+ print('AziendaId',AziendaId)
|
|
|
+ azienda = Azienda.objects.get(pk=AziendaId)
|
|
|
+
|
|
|
+ if request.method == 'POST':
|
|
|
+ print('un tasto è stato premuto')
|
|
|
+
|
|
|
+ return render(request,"azienda.editAzienda.documenti.html",data)
|