from django.shortcuts import render from .models import * from .forms import * from att.views import * from config.views import * from django.http import HttpResponse,HttpResponseRedirect from django.urls import reverse from sicurezza.views import * def welcome(request): if not 'AdminId' in request.session: print("Non rilevo presensa AdminId in request.session") return HttpResponseRedirect(reverse("login:start")) AdminId = request.session['AdminId'] print('AdminId',AdminId) data = dict() data['HeaderTitle'] = getConfig('HeaderTitle') data['Navbar']=False admin = Amministratore.objects.get(pk=AdminId) data['admin'] = admin print('admin',admin.id,admin.nome) data['permesso'] = getAMP(admin) data['permesso_amministratore'] = getAMP(admin) azienda = None if 'AziendaId' in request.session: AziendaId = request.session['AziendaId'] print('AziendaId',AziendaId) azienda = Azienda.objects.get(pk=AziendaId) data['azienda'] = azienda 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 amministratorelista = Amministratore.objects.all() data['amministratorelista'] = amministratorelista print(len(amministratorelista)) # mostriamo gli amministratori per l'azienda if azienda: print('trovato riferimento per azienda') amministratorelista = azienda.assegnazioneazienda_set.all() tmp=[] for al in amministratorelista: print(al.amministratore.nome) tmp.append(al.amministratore) data['amministratorelista'] = tmp if sede: print('trovato riferimento per sede') amministratorelista = sede.assegnazionesede_set.all() tmp = [] for al in amministratorelista: print(al.amministratore.nome) tmp1 = al.amministratore tmp.append(al.amministratore) data['amministratorelista'] = tmp data['amministratorelistalen'] = len(data['amministratorelista']) if request.method == 'POST': print("qualcosa e' stato premuto") if 'indietro' in request.POST: return HttpResponseRedirect(reverse("azienda:welcome")) if 'sceltanuovo' in request.POST: request.session['AmministratoreEditId'] = 0 print('richiesto nuovo record') return HttpResponseRedirect(reverse('amministratore:edit')) formamministratoreeditid = FormAmministratoreEditId(request.POST,amministratore=data['amministratorelista']) if formamministratoreeditid.is_valid(): scelta = formamministratoreeditid.cleaned_data.get('scelta') request.session['AmministratoreEditId'] = scelta print("Scelta effettuata",scelta) return HttpResponseRedirect(reverse("amministratore:edit")) #data['amministratorelista'] = amministratorelista #data['numeroRecordAmministratore'] = len(amministratorelista) print(data) return render(request,'amministratore.welcome.html',data) def edit(request): ''' edit amministratore o simile sulla base dei diritti assegnati, puo' leggero e/o scrivere nell'utente nella sede o nell'azienda. i diritti sono assegnati sulla base dell'utente e non successivamente all'assegnazione, tanto se l'utente ha una zona assegnata, quella puo' vedere e basta. ''' if not 'AdminId' in request.session: return HttpResponseRedirect(reverse("login:start")) data = dict() data['HeaderTitle'] = getConfig('HeaderTitle') data['Navbar']=False if 'AdminId' in request.session: data['AdminId'] = request.session['AdminId'] admin = Amministratore.objects.get(pk=data['AdminId']) data['admin'] = admin print('admin',admin.id,admin.nome) data['permesso'] = getAMP(admin) azienda = None if 'AziendaId' in request.session: AziendaId = request.session['AziendaId'] print('AziendaId',AziendaId) azienda = Azienda.objects.get(pk=AziendaId) data['azienda'] = azienda 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 amministratore = None print(request) if 'AmministratoreEditId' in request.session: amministratoreEditId = request.session.get('AmministratoreEditId') try: amministratore = Amministratore.objects.get(pk=amministratoreEditId) except Amministratore.DoesNotExist as dne: amministratore = Amministratore() print('amministratore',amministratore.id,amministratore.nome) print("request.method",request.method) if request.method == 'POST': print("qualcosa e' stato premuto") if 'indietro' in request.POST: return HttpResponseRedirect(reverse("amministratore:welcome")) formamministratore = FormAmministratore(request.POST) if formamministratore.is_valid(): print('form valida') amministratore.login=formamministratore.cleaned_data.get('login') amministratore.nome=formamministratore.cleaned_data.get('nome') amministratore.mail=formamministratore.cleaned_data.get('mail') amministratore.pin=formamministratore.cleaned_data.get('pin') amministratore.save() print('id amministratore salvato/nuovo',amministratore.id,":",amministratore.nome) request.session['AmministratoreEditId'] = amministratore.id return HttpResponseRedirect(reverse('amministratore:welcome')) tmp = dict() tmp['nome'] = amministratore.nome tmp['login'] = amministratore.login tmp['pin'] = amministratore.pin tmp['mail'] = amministratore.mail data['amministratore'] = FormAmministratore(tmp) if amministratore.id: data['listaazienda'] = listaAZP(amministratore)[0] data['listapermessi'] = listaAMP(amministratore)[0] data['listapermessiO'] = listaAMP(amministratore)[1] print('data',data) return render(request,'amministratore.edit.html',data)