fix w formularzu
This commit is contained in:
117
app.py
117
app.py
@@ -396,10 +396,10 @@ def formularz_zbiorek(zbiorka_id=None):
|
||||
|
||||
if request.method == "POST":
|
||||
# Pola wspólne
|
||||
nazwa = request.form.get("nazwa", "").strip()
|
||||
opis = request.form.get("opis", "").strip()
|
||||
numer_konta = request.form.get("numer_konta", "").strip()
|
||||
numer_telefonu_blik = request.form.get("numer_telefonu_blik", "").strip()
|
||||
nazwa = (request.form.get("nazwa", "") or "").strip()
|
||||
opis = (request.form.get("opis", "") or "").strip()
|
||||
numer_konta = (request.form.get("numer_konta", "") or "").strip()
|
||||
numer_telefonu_blik = (request.form.get("numer_telefonu_blik", "") or "").strip()
|
||||
|
||||
# Widoczność kwot i poszczególnych pasków postępu
|
||||
ukryj_kwote = "ukryj_kwote" in request.form
|
||||
@@ -407,44 +407,87 @@ def formularz_zbiorek(zbiorka_id=None):
|
||||
pokaz_postep_pozycje = "pokaz_postep_pozycje" in request.form
|
||||
pokaz_postep_kwotowo = "pokaz_postep_kwotowo" in request.form
|
||||
|
||||
# Cel — Decimal, > 0
|
||||
# Walidacja wymaganych pól tekstowych (zanim uderzymy w bazę)
|
||||
if not nazwa:
|
||||
flash("Nazwa jest wymagana", "danger")
|
||||
temp_zb = zb or Zbiorka()
|
||||
temp_zb.nazwa = nazwa
|
||||
temp_zb.opis = opis
|
||||
temp_zb.numer_konta = numer_konta
|
||||
temp_zb.numer_telefonu_blik = numer_telefonu_blik
|
||||
temp_zb.ukryj_kwote = ukryj_kwote
|
||||
temp_zb.pokaz_postep_finanse = pokaz_postep_finanse
|
||||
temp_zb.pokaz_postep_pozycje = pokaz_postep_pozycje
|
||||
temp_zb.pokaz_postep_kwotowo = pokaz_postep_kwotowo
|
||||
return render_template("admin/formularz_zbiorek.html", zbiorka=temp_zb, global_settings=global_settings)
|
||||
|
||||
if not opis:
|
||||
flash("Opis jest wymagany", "danger")
|
||||
temp_zb = zb or Zbiorka()
|
||||
temp_zb.nazwa = nazwa
|
||||
temp_zb.opis = opis
|
||||
temp_zb.numer_konta = numer_konta
|
||||
temp_zb.numer_telefonu_blik = numer_telefonu_blik
|
||||
temp_zb.ukryj_kwote = ukryj_kwote
|
||||
temp_zb.pokaz_postep_finanse = pokaz_postep_finanse
|
||||
temp_zb.pokaz_postep_pozycje = pokaz_postep_pozycje
|
||||
temp_zb.pokaz_postep_kwotowo = pokaz_postep_kwotowo
|
||||
return render_template("admin/formularz_zbiorek.html", zbiorka=temp_zb, global_settings=global_settings)
|
||||
|
||||
if not numer_konta:
|
||||
flash("Numer konta jest wymagany", "danger")
|
||||
temp_zb = zb or Zbiorka()
|
||||
temp_zb.nazwa = nazwa
|
||||
temp_zb.opis = opis
|
||||
temp_zb.numer_konta = numer_konta
|
||||
temp_zb.numer_telefonu_blik = numer_telefonu_blik
|
||||
temp_zb.ukryj_kwote = ukryj_kwote
|
||||
temp_zb.pokaz_postep_finanse = pokaz_postep_finanse
|
||||
temp_zb.pokaz_postep_pozycje = pokaz_postep_pozycje
|
||||
temp_zb.pokaz_postep_kwotowo = pokaz_postep_kwotowo
|
||||
return render_template("admin/formularz_zbiorek.html", zbiorka=temp_zb, global_settings=global_settings)
|
||||
|
||||
if not numer_telefonu_blik:
|
||||
flash("Numer telefonu BLIK jest wymagany", "danger")
|
||||
temp_zb = zb or Zbiorka()
|
||||
temp_zb.nazwa = nazwa
|
||||
temp_zb.opis = opis
|
||||
temp_zb.numer_konta = numer_konta
|
||||
temp_zb.numer_telefonu_blik = numer_telefonu_blik
|
||||
temp_zb.ukryj_kwote = ukryj_kwote
|
||||
temp_zb.pokaz_postep_finanse = pokaz_postep_finanse
|
||||
temp_zb.pokaz_postep_pozycje = pokaz_postep_pozycje
|
||||
temp_zb.pokaz_postep_kwotowo = pokaz_postep_kwotowo
|
||||
return render_template("admin/formularz_zbiorek.html", zbiorka=temp_zb, global_settings=global_settings)
|
||||
|
||||
# Cel — Decimal, > 0; akceptuj przecinek i usuń spacje/nbsp
|
||||
cel_raw = (request.form.get("cel", "") or "")
|
||||
cel_norm = (
|
||||
cel_raw.replace(" ", "")
|
||||
.replace("\u00A0", "")
|
||||
.replace(",", ".")
|
||||
.strip()
|
||||
)
|
||||
try:
|
||||
cel_str = request.form.get("cel", "").replace(",", ".").strip()
|
||||
cel = Decimal(cel_str)
|
||||
if not cel_norm:
|
||||
raise InvalidOperation
|
||||
cel = Decimal(cel_norm)
|
||||
if cel <= Decimal("0"):
|
||||
raise InvalidOperation
|
||||
except (InvalidOperation, ValueError):
|
||||
flash("Podano nieprawidłową wartość dla celu zbiórki", "danger")
|
||||
|
||||
# Przy błędzie celu odtwórz stan formularza (również przełączniki)
|
||||
if is_edit and zb:
|
||||
zb.nazwa = nazwa
|
||||
zb.opis = opis
|
||||
zb.numer_konta = numer_konta
|
||||
zb.numer_telefonu_blik = numer_telefonu_blik
|
||||
zb.ukryj_kwote = ukryj_kwote
|
||||
zb.pokaz_postep_finanse = pokaz_postep_finanse
|
||||
zb.pokaz_postep_pozycje = pokaz_postep_pozycje
|
||||
zb.pokaz_postep_kwotowo = pokaz_postep_kwotowo
|
||||
temp_zb = zb
|
||||
else:
|
||||
temp_zb = Zbiorka(
|
||||
nazwa=nazwa,
|
||||
opis=opis,
|
||||
numer_konta=numer_konta,
|
||||
numer_telefonu_blik=numer_telefonu_blik,
|
||||
cel=None,
|
||||
ukryj_kwote=ukryj_kwote,
|
||||
pokaz_postep_finanse=pokaz_postep_finanse,
|
||||
pokaz_postep_pozycje=pokaz_postep_pozycje,
|
||||
pokaz_postep_kwotowo=pokaz_postep_kwotowo,
|
||||
)
|
||||
|
||||
return render_template(
|
||||
"admin/formularz_zbiorek.html",
|
||||
zbiorka=temp_zb,
|
||||
global_settings=global_settings,
|
||||
)
|
||||
# Odtwórz stan formularza, ale nie używaj zbiorka.id w szablonie
|
||||
temp_zb = zb or Zbiorka()
|
||||
temp_zb.nazwa = nazwa
|
||||
temp_zb.opis = opis
|
||||
temp_zb.numer_konta = numer_konta
|
||||
temp_zb.numer_telefonu_blik = numer_telefonu_blik
|
||||
# cel pozostaw niewypełniony przy błędzie, aby input pokazał to co wpisał użytkownik
|
||||
temp_zb.ukryj_kwote = ukryj_kwote
|
||||
temp_zb.pokaz_postep_finanse = pokaz_postep_finanse
|
||||
temp_zb.pokaz_postep_pozycje = pokaz_postep_pozycje
|
||||
temp_zb.pokaz_postep_kwotowo = pokaz_postep_kwotowo
|
||||
return render_template("admin/formularz_zbiorek.html", zbiorka=temp_zb, global_settings=global_settings)
|
||||
|
||||
# Lista produktów
|
||||
names = request.form.getlist("item_nazwa[]")
|
||||
|
Reference in New Issue
Block a user