| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170 |
- def admin(request):
- data=dict()
- u = Utenti.objects.all().filter(admin=0)
- data['u'] = u
- print('numero record presenti',len(u))
- if request.method == 'POST':
- filecaricati = AdminUpload(request.POST,request.FILES)
- if filecaricati.is_valid():
- print('record filecaricati validi')
- if filecaricati.cleaned_data.get('indice'):
- print('presente file indice')
- fileindice = filecaricati.cleaned_data.get('indice')
- print('nome indice caricato',fileindice.name)
- upload_file(fileindice,request.FILES['indice'],True)
- fl_path = settings.MEDIA_ROOT
- risultato = None
- with open(''.join((fl_path,'/',fileindice.name)),'rb') as ind:
- risultato = ind.read()
- risultato = risultato.decode('utf-8',errors='replace')
- if isinstance(risultato,str):
- risultato = risultato.encode('utf8')
- with open(''.join((fl_path,'/',fileindice.name,'.cvtd')),'wb') as ind:
- ind.write(risultato)
- print('una volta convertito, passiamo oltre')
-
- with open(''.join((fl_path,'/',fileindice.name,'.cvtd')),'rt') as ind:
- spamreader = csv.reader(ind,delimiter=';')
- errori = list()
- count = 0
- for sr in spamreader:
- salvare = False
- count +=1
- if count==1: continue
- print(count,'sr',sr,len(sr))
- '''
- rispetto a Farma, il record inviato e' diverso:
- 0: 0308 - BOX3 S.R.L.;
- 1: Elaborazioni - Lul Libro Unico del Lavoro lavoratore;
- 2: ALESSE ANTONIO - LSSNTN63A25H501Y;
- 3: DA0308_L.U.L._LAVORATORE_#_ALESSE_ANTONIO_#_LSSNTN63A25H501Y_#_06.2024_12.07.2024_10.18.43.pdf;
- 4: ="06.2024";
- 5: 12.07.2024 10:34:17;
- 6: Cliente;
- 7: 2024.07.15 11:40:33;
- 8: 12.07.2024;
- 9: 12.07.2024;
- '''
- if len(sr) > 1:
- utente = Utenti()
- utente.nome = sr[2].capitalize()
- try:
- data_convertita = datetime.datetime.strptime(sr[8], "%d.%m.%Y")
- print('data convertita',data_convertita)
- utente.datanascita = data_convertita
- except ValueError as ve:
- print(ve)
- utente.codicefiscale = sr[2].split(' - ')[1].strip().upper()
- #utente.luogonascita = sr[4].lower()
- utente.azienda = sr[0].lower()
- utente.password = str(randint(100000,999999))
- try:
- codicefiscale.decode(utente.codicefiscale)
- salvare = True
- except ValueError as ve:
- print('errore',ve)
- salvare = False
- try:
- if salvare: utente.save()
- except IntegrityError as ie:
- print('errore',sr[2])
- errori.append((sr[1],sr[2]))
- data['IntegrityErrorList'] = errori
- data['u'] = Utenti.objects.all()
- if filecaricati.cleaned_data.get('allegati'):
- print('presenti documenti da allegare')
- listadocumenti = filecaricati.cleaned_data['allegati']
- print(listadocumenti)
- u = Utenti.objects.all()
- for singolodocumento in listadocumenti:
- print('singolodocumento',singolodocumento)
- for utente in u:
- if utente.codicefiscale.strip() in singolodocumento.name:
- print('match utente-documento')
- risultato = upload_file(singolodocumento,utente)
- utente.documento = singolodocumento.name
- utente.storage = risultato
- utente.dataupload = datetime.datetime.now()
- print('utente.storage',utente.storage)
- utente.save()
- data['u'] = Utenti.objects.all()
- return render(request,'welcome.admin.html',data)
- def edit(request,uid=None):
- print('uid',uid)
- if uid:
- uid = int(uid)
- data = dict()
- utente = None
- if uid==0:
- utente = Utenti()
- utente.password = str(randint(100000,999999))
- else:
- try:
- utente = Utenti.objects.get(pk=uid)
- except Utenti.DoesNotExist as dne:
- print(dne)
- return HttpResponseRedirect(reverse('welcome:admin'))
- if request.method == 'POST':
- result = AdminUser(request.POST,request.FILES)
- print('analisi richiesta',result.is_valid())
- if result.is_valid():
- print('risultato valido')
- utente.nome = result.cleaned_data.get('nome')
- utente.codicefiscale = result.cleaned_data.get('codicefiscale')
- utente.luogonascita = result.cleaned_data.get('luogonascita')
- utente.datanascita = result.cleaned_data.get('datanascita')
- print('data letta da web',result.cleaned_data.get('datanascita'))
- print('data time',dir(result.cleaned_data.get('datanascita')))
- print('assegnato',utente.datanascita)
- utente.password = result.cleaned_data.get('password')
- utente.azienda = result.cleaned_data.get('azienda')
- print('utentedocumento',result.cleaned_data.get('documento'))
- if result.cleaned_data.get('documento'):
- risultato = upload_file(result.cleaned_data.get('documento'),request.FILES['documento'])
- utente.documento = result.cleaned_data.get('documento')
- utente.storage = risultato
- utente.dataupload = datetime.datetime.now()
- try:
- utente.save()
- except IntegrityError as ie:
- print('errore',ie)
- data['utente'] = AdminUser(request.POST)
- data['IntegrityError'] = True
- return render(request,'welcome.edit.html',data)
- print('data salvata',utente.datanascita)
- return HttpResponseRedirect(reverse('welcome:admin'))
- else:
- print('risultato NON valido')
- print(result.cleaned_data.get('datanascita'))
- data['utente'] = AdminUser(request.POST)
- else:
- tmp = dict()
- tmp['nome']=utente.nome
- tmp['luogonascita'] = utente.luogonascita
- tmp['datanascita'] = utente.datanascita
- print('utente data',utente.datanascita)
- print(type(utente.datanascita))
- tmp['codicefiscale'] = utente.codicefiscale
- tmp['password'] = utente.password
- tmp['azienda'] = utente.azienda
- tmp['documento'] = utente.documento
- data['utente'] = AdminUser(tmp)
- data['edit_single_user'] = True
- return render(request,'welcome.edit.html',data)
- '''
|