Browse Source

corretto problema di visualizzazione listanotok (mancava l'aggiunta in data)
imposta la lunghezza del codice fiscale, pena il mancato salvataggio del record

Mauro 9 tháng trước cách đây
mục cha
commit
a4827d69fc
3 tập tin đã thay đổi với 37 bổ sung6 xóa
  1. 22 3
      config/datafunc.py
  2. 14 3
      documento/managefile.py
  3. 1 0
      documento/views.py

+ 22 - 3
config/datafunc.py

@@ -11,8 +11,15 @@ class DataDict(object):
     self.data['ShowSelectAzienda'] = True
     self.data['ShowSelectSede'] = True
 
-  def getData(self):
-    return self.data
+  def getData(self,voice=None):
+    if not voice:
+      return self.data
+    returnvalue = None
+    try:
+      returnvalue = self.data[voice]
+    except KeyError:
+      print('getData, chiave errata!')
+    return returnvalue
 
   def setData(self,data,valore):
     if data in self.data:
@@ -67,6 +74,18 @@ class Define(object):
         print('Amministratore non esiste')
     return admin
 
-  def getAdminid(self):
+  def getAdminId(self):
     return self.AdminId
 
+  def setAziendaId(self,id=None):
+    self.data['AziendaId'] = id
+    return self.getAziendaId()
+
+  def setSedeId(self,id=None):
+    self.data['SedeId'] = id
+    return self.getSedeId()
+
+  def setAdminId(self,id=None):
+    self.data['AdminId'] = id
+    return self.getAdminId()
+

+ 14 - 3
documento/managefile.py

@@ -257,6 +257,10 @@ def save_and_load_file_indice(request,fileindice,azienda=None,sede=None):
   file_memorizzato = upload_file_indice(request.FILES['indice'])
   fl_path = os.path.join(getConfig('DocPath'),getConfig('DocPathIndex'))
   risultato = None
+
+  listaOk=list()
+  listaNotOk=list()
+
   with open(os.path.join(fl_path,file_memorizzato),'rb') as ind:
     risultato = ind.read()
     risultato = risultato.decode('utf-8',errors='replace')
@@ -269,7 +273,6 @@ def save_and_load_file_indice(request,fileindice,azienda=None,sede=None):
     
     with open(os.path.join(fl_path,''.join((file_memorizzato,'.cvtd'))),'rt') as ind:
         spamreader = csv.reader(ind,delimiter=';')
-        errori = list()
         count = 0
         for sr in spamreader:
           salvare = False
@@ -280,10 +283,11 @@ def save_and_load_file_indice(request,fileindice,azienda=None,sede=None):
           if len(sr) >= 1: # la lunghezza del record segnala qualcosa
             print('lunghezza ok',sr[0])
             utente = None
-
+            codicefiscale = sr[1].strip()
             print('codice fiscale',sr[1].strip().upper())
             try:
               utente = Utente.objects.get(codicefiscale=sr[1].strip().upper())
+              listaNotOk.append({"nome":utente.nome,"codicefiscale":utentecodicefiscale,"errore":"già presente"})
             except Utente.DoesNotExist as dne:
               print('Utente non trovato')
               utente = Utente()
@@ -321,7 +325,14 @@ def save_and_load_file_indice(request,fileindice,azienda=None,sede=None):
               utente.inserimento = datetime.datetime.today().strftime("%Y-%m-%d")
 
               utente.pin = str(randint(100000,999999))
-              utente.save()
+              if len(utente.codicefiscale) == 16:
+                utente.save()
+                listaOk.append({"nome":utente.nome,"codicefiscale":utente.condicefiscale})
+              else:
+                print("Codice Fiscale NON valido o mancante")
+                listaNotOk.append({"nome":utente.nome,"codicefiscale":utente.condicefiscale,"errore":"Codice Fiscale"})
+
+  return (listaOk,listaNotOk)
 
 def PrepareZipFile(listafile=[]):
   zip_path = os.path.join(settings.BASE_DIR,getConfig('DocZipFile'))

+ 1 - 0
documento/views.py

@@ -290,6 +290,7 @@ def welcome(request,utente=None):
           print('listaok',listaok)
           data['listaoklen']=len(data['listaok'])
           print('listanotok',listanotok)
+          data['listanotok'] = listanotok
           data['listanotoklen'] = len(data['listanotok'])
 
         if comunicazione: