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 * from config.datafunc import * from att.views import * from .forms import * from sicurezza.views import * from random import randint # lista aziende def welcome(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() ### 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'])[0]: if t not in data['permesso']: data['permesso'].append(t) print("Permessi Disponibili",data['permesso']) ### ricerca delle aziende valide per questo amministratore assegnazioneazienda = listaAZP(data['admin'])[0] print('assegnazioneazienda',len(assegnazioneazienda)) ### verifica numero di aziende selezionate if len(assegnazioneazienda) == 1: print(type(assegnazioneazienda[0])) azienda = Azienda.objects.get(pk=assegnazioneazienda[0].id) data['azienda'] = azienda request.session['AziendaId'] = azienda.id print("Singola Azienda",azienda.nome) ### lista delle sedi valida per questo amministratore assegnazionesede=None if 'azienda' in data and data['azienda']: print("Abbiamo l'azienda",data['azienda'].nome) assegnazionesede = listaSEP(amministratore=data['admin'],azienda=data['azienda'],permesso="SEDE")[0] ### verifica numero di sedi selezionate print("assegnazionesede",len(assegnazionesede)) if len(assegnazionesede) == 1: print("assegnazionesede",assegnazionesede) #print(assegnazionesede[0]) sede = Sede.objects.get(pk=assegnazionesede[0].id) print("Sede",sede) data['sede'] = sede data['SedeId'] = sede.id request.session['SedeId'] = sede.id print("Singola Sede",sede.nome) ### lista attività ### data['listaAttivitaxAmministrazione']=getLogxAmministrazione(data['admin']) if request.method=="POST": print(request.POST) if 'indietro' in request.POST: print('premuto tast indietro,logout') return HttpResponseRedirect(reverse("login:start")) if "sceltaazienda" in request.POST: sceltaazienda = request.POST.get('sceltaazienda') try: sceltaazienda = int(sceltaazienda) except ValueError as ve: print("Non e' stata fatta la scelta corretta",ve) return HttpResponseRedirect(reverse('azienda:welcome')) print("sceltaazienda:",request.POST.get('sceltaazienda')) # attività su nuova/edit azienda if sceltaazienda == -1: # richiesta una nuova azienda print('sceltaazienda -1:',sceltaazienda) if "AziendaId" in request.session: del request.session['AziendaId'] if "azienda" in request.session: del request.session['azienda'] if "SedeId" in request.session: del request.session['SedeId'] if "sede" in request.session: del request.session['sede'] return HttpResponseRedirect(reverse('azienda:welcome')) elif sceltaazienda == 0: # azienda nuova print('sceltaazienda 0:',sceltaazienda) request.session['AziendaIdEdit'] = 0 print('AziendaId',request.session['AziendaIdEdit']) return HttpResponseRedirect(reverse('azienda:editAzienda')) else: print('azienda presente - almeno segnalata') try: azienda = Azienda.objects.get(pk=sceltaazienda) print('azienda trovata:',azienda.nome) data['azienda'] = azienda request.session['AziendaId'] = azienda.id #### sede = azienda.sede_set.all() if len(sede) == 1: sede = sede[0] print('singola sede',sede.id) request.session['SedeId']=sede.id data['sede'] = sede else: request.session['SedeId'] = -1 if 'sede' in data: del data['sede'] except Azienda.DoesNotExist as dne: print("errore, oggetto inesistente",dne) if "sceltasede" in request.POST: sceltasede = request.POST.get('sceltasede') try: sceltasede = int(sceltasede) request.session['SedeId'] = sceltasede except ValueError as ve: print("Non e' stata fatta la scelta corretta",ve) return HttpResponseRedirect(reverse('azienda:welcome')) print("sceltasede = ",request.POST.get('sceltasede')) if sceltasede == -1: print('sceltasede -1:',sceltasede) if 'sede' in data: del data['sede'] elif sceltasede == 0: #richiesta una nuova azienda print('sceltasede 0:',sceltasede) request.session['SedeIdEdit'] = 0 return HttpResponseRedirect(reverse('azienda:editSede')) else: try: sede = Sede.objects.get(pk=sceltasede) data['sede'] = sede request.session['SedeId'] = sede.id except Sede.DoesNotExist as dne: print("errore,oggetto inesistente",dne) if "utenti" in request.POST: print('premuto tasto utenti') return HttpResponseRedirect(reverse('utente:welcome')) if 'documenti' in request.POST: # stato premuto il tasto documenti print('premuto tasto documenti') return HttpResponseRedirect(reverse('documento:welcome')) if 'azienda.documenti' in request.POST: # stato premuto tasto documenti aziendali print('premuto tasto azienda.documenti') print("Generazione utente speciale per {}".format(data['azienda'].nome)) u = Utente() u.azienda = data['azienda'] u.special = True u.login = data['azienda'].nome u.codicefiscale = data['azienda'].partitaiva u.nome = "Document Store: {}".format(data['azienda'].nome) u.pin = str(randint(100000,999999)) try: u.save() print('utente speciale salvato') except IntegrityError as ie: print(ie) u = data['azienda'].utente_set.get(special=True) print('**** utente',u,u.id) return HttpResponseRedirect(reverse('documento:azienda',args=[u.id,])) if "attivita" in request.POST: print('premuto tasto attivita') print("azienda:",data['azienda']) data['listaAttivitaxAzienda']=getLogxAzienda(data['azienda']) if 'comunicazioni' in request.POST: print('premuto tasto comunicazioni') return HttpResponseRedirect(reverse('comunicazione:welcome')) if 'parazienda' in request.POST: print('premuto tasto Par.Azienda') azid = request.POST.get('parazienda') print('azienda passata',request.POST.get('parazienda')) azienda = Azienda.objects.get(pk=azid) request.session['AziendaId'] = azienda.id request.session['AziendaIdEdit'] = azienda.id return HttpResponseRedirect(reverse('azienda:editAzienda')) if 'parsede' in request.POST: print('premuto tasto Par.Sede') seid = request.POST.get('parsede') print('sede passata',request.POST.get('parsede')) sede = Sede.objects.get(pk=seid) request.session['SedeId'] = sede.id request.session['SedeIdEdit'] = sede.id return HttpResponseRedirect(reverse('azienda:editSede')) if 'paramm' in request.POST: print('premuto tasto Par.Amministratore') amid = request.POST.get('paramm') print('amministratore passato',request.POST.get('paramm')) request.session['masteramm'] = False return HttpResponseRedirect(reverse('amministratore:editAmministratore')) if 'amministratore' in request.POST: print(' premuto tasto Amministratore') return HttpResponseRedirect(reverse('amministratore:welcome')) data['AziendaLista'] = assegnazioneazienda if 'azienda' in data and data['azienda'] != None: print('azienda',data['azienda']) print('azienda selezionata:',data['azienda'].nome) # costruisce la lista delle sedi. data['SedeLista'] = listaSEP(data['azienda'],data['admin'],"SEDE")[0] print('numero aziende',len(data['AziendaLista'])) if 'SedeLista' in data: print('numero di sedi',len(data['SedeLista'])) #for i in data['SedeLista']: print(":::",i.nome) ### 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'])[0]: if t not in data['permesso']: data['permesso'].append(t) print(data['permesso']) ### permessi fine ### return render(request,'azienda.welcome.html',data) # Edit/Creazione Azienda def editAzienda(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('**** permesso: 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'])[0]: if t not in data['permesso']: data['permesso'].append(t) print("Permessi Disponibili",data['permesso']) AdminId = request.session['AdminId'] print('AdminId',AdminId) admin = Amministratore.objects.get(pk=AdminId) data['admin'] = admin print('admin',admin.id,admin.nome) ### azienda su cui effettuare le operazioni azienda = Azienda() data['aziendapresente'] = False if 'AziendaIdEdit' in request.session: print('trovato riferimento AziendaIdEdit',request.session.get('AziendaIdEdit')) azid = request.session.get('AziendaIdEdit') try: azienda = Azienda.objects.get(pk=azid) data['aziendapresente']=True print('azienda trovata',azienda.nome) except Azienda.DoesNotExist as dnf: print(dnf) azienda.login='' azienda.nome='' azienda.mail='' if request.method == 'POST': print('EditAzienda un tasto è stato premuto') if 'indietro' in request.POST: return HttpResponseRedirect(reverse('azienda:welcome')) if 'AggiornaAziendaButton' in request.POST: print('premuto tasto "AggiornaAziendaButton"') nuovaazienda = formAzienda(request.POST) if nuovaazienda.is_valid(): print("il form AggiornaAziendaButton' valido",request.POST) azienda.nome = nuovaazienda.cleaned_data.get('nome') azienda.mail = nuovaazienda.cleaned_data.get('mail') azienda.partitaiva = nuovaazienda.cleaned_data.get('partitaiva') azienda.cambiopassword = nuovaazienda.cleaned_data.get('cambiopassword') azienda.forzanuovapassword = nuovaazienda.cleaned_data.get('forzanuovapassword') azienda.otppassword = nuovaazienda.cleaned_data.get('otppassword') print("####### azienda.mail",azienda.mail) try: azienda.save() data['aziendapresente']=True except IntegrityError as ie: print("Errore, azienda gia' presente:",azienda.nome,azienda.partitaiva) return HttpResponseRedirect(reverse('azienda:welcome')) request.session['AziendaIdEdit'] = azienda.id print('azienda:',azienda.id) request.session['AziendaId'] = azienda.id data['azienda'] = azienda ### generiamo un utente speciale per la gestione dei documenti aziendali # 1 verifichiamo che non esista l'utente try: Utente.objects.get(codicefiscale=azienda.partitaiva) except Utente.DoesNotExist as dne: print("Generazione utente speciale per {}".format(azienda.nome)) utente = Utente() utente.azienda = azienda utente.special = True utente.login = azienda.nome utente.codicefiscale = azienda.partitaiva utente.nome = "Document Store: {}".format(azienda.nome) utente.pin = str(randint(100000,999999)) try: utente.save() except IntegrityError as ie: print(ie) ### nel caso l'azienda non esista, si aggiungono i permessi di base print("data['admin']",data['admin']) if 'AZIENDA' in getAMP(data['admin'])[0]: print('getAMP: Azienda') setAZP(azienda,data['admin'],"AZIENDA") if 'AZIENDA.CREA' in getAMP(data['admin'])[0]: print('getAMP: AZIENDA.CREA') setAZP(azienda,data['admin'],"AZIENDA.CREA") if 'AZIENDA.EDIT' in getAMP(data['admin'])[0]: print('getAMP: AZIENDA.EDIT') setAZP(azienda,data['admin'],"AZIENDA.EDIT") if 'UTENTE' in getAMP(data['admin'])[0]: print('getAMP: UTENTE') setAZP(azienda,data['admin'],"UTENTE") if 'UTENTE.CREA' in getAMP(data['admin'])[0]: print('getAMP: UTENTE.CREA') setAZP(azienda,data['admin'],"UTENTE.CREA") if 'UTENTE.EDIT' in getAMP(data['admin'])[0]: print('getAMP: UTENTE.EDIT') setAZP(azienda,data['admin'],"UTENTE.EDIT") data['aziendaForm'] = formAzienda(request.POST) return render(request,'azienda.editAzienda.html',data) else: data['aziendaForm'] = formAzienda(request.POST) print("il form 'AggiornaAziendaButton' non è valido") if 'AvantiAziendaButton' in request.POST: print('premuto "AvantiAziendaButton"') ### puo' andare avanti solo se l'azienda gia' e' inserita return HttpResponseRedirect(reverse('azienda:editAziendaPermesso')) else: # prepariamo il form per l'azienda tmp = dict() tmp['id'] = azienda.id tmp['nome'] = azienda.nome tmp['partitaiva'] = azienda.partitaiva tmp['mail'] = azienda.mail tmp['forzanuovapassword'] = azienda.forzanuovapassword tmp['cambiopassword'] = azienda.cambiopassword tmp['otppassword'] = azienda.otppassword print(tmp) formaziendafield = formAzienda(tmp) data['aziendaForm'] = formaziendafield return render(request,'azienda.editAzienda.html',data) # edit Permessi Azienda def editAziendaPermesso(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'])[0]: 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') if 'IndietroAziendaButton' in request.POST: return HttpResponseRedirect(reverse('azienda:editAzienda')) if 'FineAziendaButton' in request.POST: return HttpResponseRedirect(reverse('azienda:welcome')) if 'PermessoDaAggiungereButton' in request.POST: print('premuto "PermessoDaAggiungereButton"') formaziendapermessi = formAziendaPermessi(request.POST,amministratori=Amministratore.objects.all(),permessi=Permesso.objects.all()) if formaziendapermessi.is_valid(): print('formAziendaPermessi valida') amministratore = formaziendapermessi.cleaned_data.get('ListaAmministratori') permesso = formaziendapermessi.cleaned_data.get('ListaPermessi') print('amministratore da aggiungere',amministratore) print('permesso da aggiungere',permesso) for a in amministratore: for p in permesso: try: setAZP(azienda,a,Permesso.objects.get(pk=str(p))) except ValueError as ve: print('errore in seAZP') else: if 'errors' in formaziendapermessi: print('formAziendaPermessi Errore',formaziendapermessi['errors']) data['formaziendapermessi'] = formaziendapermessi if 'AssegnaIdenticiPermessiButton' in request.POST: print('premuto "AssegnaIdenticiPermessiButton"') listapermessidisponibili = getAZP(azienda,data['admin'])[0] print('listapermessidisponibili',listapermessidisponibili) formaziendapermessi = formAziendaPermessi(request.POST,amministratori=Amministratore.objects.all(),permessi=Permesso.objects.all()) if formaziendapermessi.is_valid(): print('formAziendaPermessi valida') amministratore = formaziendapermessi.cleaned_data.get('ListaAmministratori') for p in listapermessidisponibili: for a in amministratore: try: setAZP(azienda,a,p) except ValueError as ve: print('errore in setAZP') if 'CancellaAziendaPermessiButton' in request.POST: print('premuto "CancellaAziendaPermessiButton"') cancellaaziendaamministratoripermessi = request.POST.get('CancellaAziendaPermessiButton') print('CancellaAziendaAmministratoriPermessi',cancellaaziendaamministratoripermessi) azp = AZP.objects.get(pk=cancellaaziendaamministratoripermessi) if azp: print('Permesso Azienda Amministratore trovato - cancello') azp.delete() #else: data['listaAmministratore'] = listaAMMperAzienda(AziendaId)[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="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() 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'])[0]: if t not in data['permesso']: data['permesso'].append(t) print("Permessi Disponibili",data['permesso']) ### azienda su cui effettuare le operazioni 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) sedepresente = True print('sede trovata',data['sede'].nome) except Sede.DoesNotExist as dnf: print(dnf) sede = Sede() 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 if request.method == "POST": print('un tasto è stato premuto in editSede') if 'indietro' in request.POST: return HttpResponseRedirect(reverse('azienda:welcome')) if 'AggiornaSedeButton' in request.POST: print('premuto tasto "AggiornaSedeButton"') nuovasede = formSede(request.POST) if nuovasede.is_valid(): print('il form "formSede" è valido') sede.nome = nuovasede.cleaned_data.get('nome') sede.mail = nuovasede.cleaned_data.get('mail') sede.cambiopassword = nuovasede.cleaned_data.get('cambiopassword') sede.forzanuovapassword = nuovasede.cleaned_data.get('forzanuovapassword') sede.otppassword = nuovasede.cleaned_data.get('otppassword') sede.info = nuovasede.cleaned_data.get('info') sede.identificativo = nuovasede.cleaned_data.get('identificativo') sede.save() request.session['SedeIdEdit'] = sede.id print('sede:',sede.id) print('azienda',sede.nome) request.session['SedeId'] = sede.id data['sede'] = sede # nel caso la sede non esista, vediamo di crearla print("data['admin']",data['admin']) if 'SEDE' in getAMP(data['admin'])[0]: print('getAMP: SEDE') setSEP(sede,data['admin'],"SEDE") if 'SEDE.CREA' in getAMP(data['admin'])[0]: print('getAMP: SEDE.CREA') setSEP(sede,data['admin'],"SEDE.CREA") if 'SEDE.EDIT' in getAMP(data['admin'])[0]: print('getAMP: SEDE.EDIT') setSEP(sede,data['admin'],"SEDE.EDIT") if 'UTENTE' in getAMP(data['admin'])[0]: print('getAMP: UTENTE') setSEP(sede,data['admin'],"UTENTE") if 'UTENTE.CREA' in getAMP(data['admin'])[0]: print('getAMP: UTENTE.CREA') setSEP(sede,data['admin'],"UTENTE.CREA") 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') print('CancellaSedeAmministratoriPermessi',cancellasedeamministratoripermessi) sep = SEP.objects.get(pk=cancellasedeamministratoripermessi) if sep: print('Permesso Sede Amministratore trovato - cancello') sep.delete() formsedefield = None if sede: print('Abbiamo sede',sede.nome) tmp = dict() tmp['nome'] = sede.nome tmp['info'] = sede.info tmp['identificativo'] = sede.identificativo tmp['cambiopassword'] = sede.cambiopassword tmp['forzanuovapassword'] = sede.forzanuovapassword tmp['otppassword'] = sede.otppassword print('stato tmp',tmp) formsedefield = formSede(tmp) data['sedeForm'] = formsedefield return render(request,'azienda.editSede.html',data) ### 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) if request.method == 'POST': print('un tasto è stato premuto in editSedePermesso') 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"') print("****") print('sede',sede) print('admin',data['admin']) print(getSEP(sede,data['admin'])[0]) print("****") formsedeamministratoresorgente = formSedeAmministratoreSorgente(request.POST) formsedeamministratoresorgente.c(Amministratore.objects.all()) if formsedeamministratoresorgente.is_valid(): print('i dati inseriti sono validi') else: print('fail') 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() # lista degli amministratori gia presenti data['listaAmministratore'] = listaAMMperSede(data['SedeId'])[1] data['listaAmministratore'] = sorted(data['listaAmministratore'], key = lambda x: x.amministratore.nome,reverse=False) data['listaAmministratoreSorgente'] = list() for x in data['listaAmministratore']: if x not in data['listaAmministratoreSorgente']: data['listaAmministratoreSorgente'].append(x) print("listaAmministratore",len(data['listaAmministratore'])) print("listaAmministratoreSorgente",len(data['listaAmministratoreSorgente'])) 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'])[0]: 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)