from django.shortcuts import render from django.http import HttpResponseRedirect from django.urls import reverse from .models import * from config.views import * from att.views import * from .forms import * def welcome(request): if not 'AdminId' in request.session: return HttpResponseRedirect(reverse("login:start")) AdminId = request.session['AdminId'] print('AdminId',AdminId) data = dict() if 'AziendaId' in request.session: AziendaId = request.session['AziendaId'] print('AziendaId',AziendaId) azienda = Azienda.objects.get(pk=AziendaId) data['azienda'] = azienda if 'SedeId' in request.session: SedeId = request.session['SedeId'] print('SedeId',SedeId) sede = Sede.objects.get(pk=SedeId) data['sede'] = sede data['Navbar']=True data['HeaderTitle'] = getConfig('HeaderTitle') admin = Amministratore.objects.get(pk=AdminId) data['admin'] = admin print('admin',admin.id,admin.nome) assegnazione = Assegnazione.objects.filter(user=admin.id) print('assegnazione',len(assegnazione)) data['listaAttivitaxAmministrazione']=getLogxAmministrazione(admin) if request.method=="POST": print(request.POST) if 'ritorna' in request.POST: print('premuto tast ritorno,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") print(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) #return HttpResponseRedirect(reverse('azienda:editAzienda')) elif sceltaazienda == 0: print('sceltaazienda 0:',sceltaazienda) request.session['AziendaIdEdit'] = 0 print('AziendaId',request.session['AziendaId']) return HttpResponseRedirect(reverse('azienda:editAzienda')) else: try: azienda = Azienda.objects.get(pk=sceltaazienda) data['azienda'] = azienda request.session['AziendaId'] = azienda.id except Azienda.DoesNotExist as dne: print("errore, oggetto inesistente",dne) if "sceltasede" in request.POST: sceltasede = request.POST.get('sceltasede') try: sceltasede = int(sceltasede) except ValueError as ve: print("Non e' stata fatta la scelta corretta") print(ve) return HttpResponseRedirect(reverse('azienda:welcome')) print("sceltasede = ",request.POST.get('sceltasede')) if sceltasede == 0: #richiesta una nuova azienda data['SedeId']=None #return HttpResponseRedirect(reverse('azienda:editSede')) elif sceltasede != -1: sede = Sede.objects.get(pk=sceltasede) data['sede'] = sede request.session['SedeId'] = sede.id 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 "attivita" in request.POST: print('premuto tasto attivita') data['listaAttivitaxAzienda']=getLogxAzienda(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')) tmplist = list() for tmp in assegnazione: tmplist.append(tmp.azienda) data['aziendaLista'] = tmplist if 'azienda' in data: print('azienda selezionata:',data['azienda'].nome) data['sedelista'] = data['azienda'].sede_set.all() print('data',data) print('numero aziende',len(data['aziendaLista'])) return render(request,'azienda.welcome.html',data) # creazione azienda def editAzienda(request): AdminId = request.session['AdminId'] data={} data['HeaderTitle'] = getConfig('HeaderTitle') user = data['admin'] = User.objects.get(pk=AdminId) azienda = None 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) print('azienda trovata',azienda.nome) except Azienda.DoesNotExist as dnf: print(dnf) if request.method == "POST": print("Richiesta creazione nuova azienda") nuovaazienda = formAzienda(request.POST) if nuovaazienda.is_valid(): print("il form e' valido",request.POST) if not azienda: azienda = Azienda() azienda.nome = nuovaazienda.cleaned_data.get('nome') azienda.mail = nuovaazienda.cleaned_data.get('mail') azienda.partitaiva = nuovaazienda.cleaned_data.get('partitaiva') azienda.save() request.session['AziendaIdEdit'] = azienda.id print('azienda:',azienda.id) assegnazione = Assegnazione() if azienda: assegnazione = Assegnazione.objects.get(azienda=azienda.id,user=user.id) assegnazione.azienda=azienda assegnazione.user=User.objects.get(pk=AdminId) assegnazione.save() del request.session['AziendaIdEdit'] return HttpResponseRedirect(reverse('azienda:welcome')) else: print("form non valido") data['azienda'] = formAzienda(request.POST) else: #non è un post print("Non è un post") formAziendaField = None if azienda: print('Abbiamo azienda',azienda.nome) tmp = dict() tmp['id'] = azienda.id tmp['nome'] = azienda.nome tmp['partitaiva'] = azienda.partitaiva tmp['mail'] = azienda.mail tmp['forzanuovapassword'] = True formAziendaField = formAzienda(tmp) else: tmp = dict() tmp['nome'] = '' tmp['partitaiva'] = '' tmp['mail'] = user.email tmp['forzanuovapassword'] = True formAziendaField = formAzienda(tmp) data['azienda'] = formAziendaField return render(request,'azienda.editAzienda.html',data) def editSede(request): AdminId = request.session['AdminId'] data={} data['HeaderTitle'] = getConfig('HeaderTitle') user = data['admin'] = User.objects.get(pk=AdminId) if 'AziendaId' in request.session: print('trovato riferimento AziendaId',request.session.get('AziendaId')) azid = request.session.get('AziendaId') try: azienda = Azienda.objects.get(pk=azid) print('azienda trovata',azienda.nome) except Azienda.DoesNotFound as dnf: print(dnf) if request.method == "POST": print("Richiesta creazione nuova azienda") nuovaazienda = formAzienda(request.POST) if nuovaazienda.is_valid(): print("il form e' valido",request.POST) if not azienda: azienda = Azienda() azienda.nome = nuovaazienda.cleaned_data.get('nome') azienda.mail = nuovaazienda.cleaned_data.get('mail') azienda.partitaiva = nuovaazienda.cleaned_data.get('partitaiva') azienda.save() request.session['AziendaId'] = azienda.id print('azienda:',azienda.id) assegnazione = Assegnazione() if azienda: assegnazione = Assegnazione.objects.get(azienda=azienda,user=user) assegnazione.azienda=azienda assegnazione.user=User.objects.get(pk=AdminId) assegnazione.save() return HttpResponseRedirect(reverse('azienda:welcome')) else: print("form non valido") data['azienda'] = formAzienda(request.POST) else: #non è un post print("Non è un post") formAziendaField = None if azienda: print('Abbiamo azienda',azienda.nome) tmp = dict() tmp['id'] = azienda.id tmp['nome'] = azienda.nome tmp['partitaiva'] = azienda.partitaiva tmp['mail'] = azienda.mail tmp['forzanuovapassword'] = True formAziendaField = formAzienda(tmp) else: tmp = dict() tmp['nome'] = '' tmp['partitaiva'] = '' tmp['mail'] = user.email tmp['forzanuovapassword'] = True formAziendaField = formAzienda(tmp) data['azienda'] = formAziendaField return render(request,'azienda.editAzienda.html',data)