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