multiple fields support added, prazdne params
This commit is contained in:
		
							parent
							
								
									eb41008261
								
							
						
					
					
						commit
						c1df250a46
					
				
					 2 changed files with 22 additions and 7 deletions
				
			
		|  | @ -6,6 +6,9 @@ | ||||||
| <h2><strong>Export lidí</strong></h2> | <h2><strong>Export lidí</strong></h2> | ||||||
| 
 | 
 | ||||||
| <p>Vyberte pole, které chcete exportovat</p> | <p>Vyberte pole, které chcete exportovat</p> | ||||||
|  | <!-- for loop zde neni pouzit proto, aby se mohlo napsat | ||||||
|  |  data-value="email telefon mesto" | ||||||
|  | a zabalit tak vice parametru do jednoho checkboxu --> | ||||||
| <p> | <p> | ||||||
|   <label>( Jméno: <input class="field-check" data-value="jmeno" type="checkbox" checked>)</label> |   <label>( Jméno: <input class="field-check" data-value="jmeno" type="checkbox" checked>)</label> | ||||||
|   <label>( Příjmení: <input class="field-check" data-value="prijmeni" type="checkbox" checked>)</label> |   <label>( Příjmení: <input class="field-check" data-value="prijmeni" type="checkbox" checked>)</label> | ||||||
|  | @ -89,14 +92,20 @@ | ||||||
| 
 | 
 | ||||||
|   download_button.addEventListener('click', (e) => { |   download_button.addEventListener('click', (e) => { | ||||||
|     // uzivatele vybrana pole |     // uzivatele vybrana pole | ||||||
|     const fields = Array.from(document.getElementsByClassName('field-check')) |     fields = Array.from(document.getElementsByClassName('field-check')) | ||||||
|       .filter(e => e.checked) |       .filter(e => e.checked) | ||||||
|       .map(e => e.getAttribute('data-value')) |       .map(e => e.getAttribute('data-value')); | ||||||
|     console.log(fields) |     params = "" | ||||||
|  |     for (let val of fields) { | ||||||
|  |       for(let s of val.split(' ')) { | ||||||
|  |         params += s + "," | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |     params = params.slice(0, -1) | ||||||
|     if (select_two.innerHTML == '') { |     if (select_two.innerHTML == '') { | ||||||
|       window.location.href = "/profil/exporty_lidi/get_csv_only_one_step/" + select_one.value + "?fields=" + fields.join(',') |       window.location.href = "/profil/exporty_lidi/get_csv_only_one_step/" + select_one.value + "?fields=" + params | ||||||
|     } else { |     } else { | ||||||
|       window.location.href = "/profil/exporty_lidi/get_csv/" + select_one.value + "/" + select_two.value + "?fields=" + fields.join(',') |       window.location.href = "/profil/exporty_lidi/get_csv/" + select_one.value + "/" + select_two.value + "?fields=" + params | ||||||
|     } |     } | ||||||
|   }) |   }) | ||||||
| </script> | </script> | ||||||
|  |  | ||||||
|  | @ -171,8 +171,14 @@ def get_export_options(request, type): | ||||||
| 		data = [{"id": s.id, "display": str(s)} for s in Soustredeni.objects.all()] | 		data = [{"id": s.id, "display": str(s)} for s in Soustredeni.objects.all()] | ||||||
| 	return HttpResponse(json.dumps(data), content_type='application/json') | 	return HttpResponse(json.dumps(data), content_type='application/json') | ||||||
| 
 | 
 | ||||||
| def download_export_csv_only_first_step(request, type): | def getFieldsForExport(request): | ||||||
| 	fields = request.GET.get('fields').split(',') | 	fields = request.GET.get('fields').split(',') | ||||||
|  | 	if fields == ['']: | ||||||
|  | 		return ["jmeno", "prijmeni", "email", "telefon"] | ||||||
|  | 	return fields | ||||||
|  | 
 | ||||||
|  | def download_export_csv_only_first_step(request, type): | ||||||
|  | 	fields = getFieldsForExport(request) | ||||||
| 	if type == 3: | 	if type == 3: | ||||||
| 		resitele = tvorba_utils.resitele_co_neodmaturovali() | 		resitele = tvorba_utils.resitele_co_neodmaturovali() | ||||||
| 		resiteleOsoby = Osoba.objects.filter(resitel__in=resitele) | 		resiteleOsoby = Osoba.objects.filter(resitel__in=resitele) | ||||||
|  | @ -181,7 +187,7 @@ def download_export_csv_only_first_step(request, type): | ||||||
| 		return response | 		return response | ||||||
| 
 | 
 | ||||||
| def download_export_csv(request, type, id): | def download_export_csv(request, type, id): | ||||||
| 	fields = request.GET.get('fields').split(',') | 	fields = getFieldsForExport(request) | ||||||
| 	if type == PrvniTypExportu.CISLA.value: | 	if type == PrvniTypExportu.CISLA.value: | ||||||
| 		resitele = tvorba_utils.resi_cislo(Cislo.objects.get(id=id)) | 		resitele = tvorba_utils.resi_cislo(Cislo.objects.get(id=id)) | ||||||
| 		resiteleOsoby = Osoba.objects.filter(resitel__in=resitele) | 		resiteleOsoby = Osoba.objects.filter(resitel__in=resitele) | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue