Explorar el Código

iniziata creazione funzioni comuni a tutta l'applicazione

Mauro hace 9 meses
padre
commit
dedd8443a2
Se han modificado 2 ficheros con 88 adiciones y 35 borrados
  1. 16 35
      azienda/views.py
  2. 72 0
      config/datafunc.py

+ 16 - 35
azienda/views.py

@@ -3,6 +3,7 @@ from django.http import HttpResponseRedirect
 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 *
@@ -12,35 +13,17 @@ def welcome(request):
   if not 'AdminId' in request.session:
     return HttpResponseRedirect(reverse("login:start"))
 
-  data = dict()
-  data['HeaderTitle'] = getConfig('HeaderTitle')
-  data['Navbar']=True
-
-  AdminId = request.session['AdminId']
-  print('AdminId',AdminId)
-  admin = Amministratore.objects.get(pk=AdminId)
-  data['admin'] = admin
-  print('admin',admin.id,admin.nome)
+  d = DataDict()
+  data = d.getData()
 
-  azienda = None
-  if 'AziendaId' in request.session:
-    AziendaId = request.session['AziendaId']
-    print('AziendaId',AziendaId)
-    azienda = Azienda.objects.get(pk=AziendaId)
-    data['azienda'] = azienda
+  define = Define(request)
+  data['admin'] = define.getAdmin()
+  data['azienda'] = define.getAzienda()
+  data['sede'] = define.getSede()
+  print("cazzo cazzo",data['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
- 
   ### permessi inizio ###
-  data['permesso'] = getAMP(admin)[0]
+  data['permesso'] = getAMP(data['admin'])[0]
 
   if 'AziendaId' in data:
     for t in getAZP(data['AziendaId'],admin):
@@ -56,7 +39,7 @@ def welcome(request):
   ### permessi fine ###
 
   ### ricerca delle aziende valide per questo amministratore 
-  assegnazioneazienda = listaAZP(admin)[0]
+  assegnazioneazienda = listaAZP(data['admin'])[0]
   print('assegnazioneazienda',len(assegnazioneazienda))
   if len(assegnazioneazienda) == 1:
     ### c'e' una sola azienda, 
@@ -68,12 +51,12 @@ def welcome(request):
 
   ### lista delle sedi valida per questo amministratore
   assegnazionesede=None
-  if azienda:
-    assegnazionesede = listaSEP(admin,azienda,"SEDE")
+  if data['azienda']:
+    assegnazionesede = listaSEP(data['admin'],data['azienda'],"SEDE")
     print("assegnazionesede",len(assegnazionesede))
 
   ### lista attività ###
-  data['listaAttivitaxAmministrazione']=getLogxAmministrazione(admin)
+  data['listaAttivitaxAmministrazione']=getLogxAmministrazione(data['admin'])
 
   if request.method=="POST":
     print(request.POST)
@@ -189,13 +172,11 @@ def welcome(request):
 
   data['AziendaLista'] = assegnazioneazienda
 
-  if 'azienda' in data:
+  if 'azienda' in data and data['azienda'] != None:
+    print('azienda',data['azienda'])
     print('azienda selezionata:',data['azienda'].nome)
     # costruisce la lista delle sedi.
-    #print(":::",listaSEP(data['azienda'],admin))
-    data['SedeLista'] = listaSEP(data['azienda'],admin,"SEDE")[0]
-    #print("::::",data['SedeLista'])
-    #print(data)
+    data['SedeLista'] = listaSEP(data['azienda'],data['admin'],"SEDE")[0]
     
   print('numero aziende',len(data['AziendaLista']))
   

+ 72 - 0
config/datafunc.py

@@ -0,0 +1,72 @@
+#modulo per la gestione della lista 'data' e dei relativo valori
+from .views import *
+from azienda.models import *
+from amministratore.models import *
+
+class DataDict(object):
+  def __init__(self):
+    self.data = dict()
+    self.data['HeaderTitle'] = getConfig('HeaderTitle')
+    self.data['Navbar']=True
+    self.data['ShowSelectAzienda'] = True
+    self.data['ShowSelectSede'] = True
+
+  def getData(self):
+    return self.data
+
+  def setData(self,data,valore):
+    if data in self.data:
+      self.data[data] = valore
+      return self.data
+    self.data[data]=valore
+    return self.data
+
+class Define(object):
+  def __init__(self,request):
+    self.AziendaId = None
+    self.SedeId = None
+    self.AdminId = None
+
+    if 'AziendaId' in request.session:
+      self.AziendaId = request.session['AziendaId']
+    if 'SedeId' in request.session:
+      self.SedeId = request.session['SedeId']
+    if 'AdminId' in request.session:
+      self.AdminId = request.session['AdminId']
+
+  def getAzienda(self):
+    azienda=None
+    if self.AziendaId:
+      try:
+        azienda = Azienda.objects.get(pk=self.AziendaId)
+      except Azienda.DoesNotExist as dne:
+        print('azienda non esiste')
+    return azienda
+
+  def getAziendaId(self):
+    return self.AziendaId
+
+  def getSede(self):
+    sede=None
+    if self.AziendaId:
+      try:
+        sede = Sede.objects.get(pk=self.SedeId)
+      except Sede.DoesNotExist as dne:
+        print('Sede Non esiste')
+    return sede
+
+  def getSedeId(self):
+    return self.SedeId
+
+  def getAdmin(self):
+    admin = None
+    if self.AdminId:
+      try:
+        admin = Amministratore.objects.get(pk=self.AdminId)
+      except Amministratore.DoesNotExist as dne:
+        print('Amministratore non esiste')
+    return admin
+
+  def getAdminid(self):
+    return self.AdminId
+