def dodaj_pytania(dane): """Funkcja dodaje pytania i odpowiedzi przekazane w tupli do bazy.""" for pytanie, odpowiedzi, odpok in dane: p = Pytanie(pytanie=pytanie, odpok=odpok) p.save() for o in odpowiedzi.split(","): odp = Odpowiedz(pnr=p.id, odpowiedz=o.strip()) odp.save() print("Dodano przykładowe pytania")
def dodaj_pytania(dane): """Funkcja dodaje pytania i odpowiedzi przekazane w tupli do bazy.""" for pytanie,odpowiedzi,odpok in dane: pyt = Pytanie(pytanie = pytanie, odpok = odpok) pyt.save() for o in odpowiedzi.split(","): odp = Odpowiedz(pnr = pyt.id, odpowiedz = o.strip()) odp.save() print "Dodano przykładowe pytania"
def dodaj(): error = [] # POST, zapisz pytanie if request.method == 'POST': # sprawdzanie poprawności przesłanych danych if len(request.form['pytanie']) == 0: error.append(u'Błąd: pytanie nie może być puste!') odpowiedzi = list(request.form.getlist('odp[]')) for odp in odpowiedzi: if len(odp) == 0: error.append(u'Odpowiedź nie może być pusta!') if len(request.form['odpok']) == 0: error.append(u'Brak numeru poprawnej odpowiedzi!') elif int(request.form['odpok']) > len(odpowiedzi): error.append(u'Błędny numer poprawnej odpowiedzi!') if not error: # jeżeli nie ma błędów dodajemy pytanie pytanie = request.form['pytanie'].strip() odpok = odpowiedzi[(int(request.form['odpok']) - 1)] try: if request.form['id']: # aktualizujemy pytanie p = Pytanie.select(Pytanie, Odpowiedz).join(Odpowiedz).\ where(Pytanie.id == int(request.form['id'])).get() p.pytanie = pytanie.strip() p.odpok = odpok.strip() p.save() for i, o in enumerate(list(p.odpowiedzi)): o.odpowiedz = odpowiedzi[i].strip() o.save() flash(u'Zmieniono pytanie:', 'sukces') except KeyError: # dodajemy nowe pytanie, brak id pytania! p = Pytanie(pytanie=pytanie.strip(), odpok=odpok.strip()) p.save() for odp in odpowiedzi: o = Odpowiedz(pnr=p, odpowiedz=odp.strip()) o.save() flash(u'Dodano pytanie:', 'sukces') flash( "\n" + pytanie + " " + odpok.strip() + " (" + ", ".join(odpowiedzi) + ")", 'kom') return redirect(url_for('index')) else: for e in error: flash(e, 'blad') # GET, wyświetl formularz return render_template('dodaj.html')
def dodaj(): """Dodawanie pytań i odpowiedzi""" form = DodajForm() if form.validate_on_submit(): odp = form.odpowiedzi.data p = Pytanie(pytanie=form.pytanie.data, odpok=odp[int(form.odpok.data)]) p.save() for o in odp: inst = Odpowiedz(pnr=p.id, odpowiedz=o) inst.save() flash("Dodano pytanie: {}".format(form.pytanie.data)) return redirect(url_for("lista")) elif request.method == 'POST': flash_errors(form) return render_template("dodaj.html", form=form, radio=list(form.odpok))
def dodaj(): error = [] # POST, zapisz pytanie if request.method == 'POST': # sprawdzanie poprawności przesłanych danych if len(request.form['pytanie']) == 0: error.append(u'Błąd: pytanie nie może być puste!') odpowiedzi = list(request.form.getlist('odp[]')) for odp in odpowiedzi: if len(odp) == 0: error.append(u'Odpowiedź nie może być pusta!') if len(request.form['odpok']) == 0: error.append(u'Brak numeru poprawnej odpowiedzi!') elif int(request.form['odpok']) > len(odpowiedzi): error.append(u'Błędny numer poprawnej odpowiedzi!') if not error: # jeżeli nie ma błędów dodajemy pytanie pytanie = request.form['pytanie'].strip() odpok = odpowiedzi[(int(request.form['odpok']) - 1)] try: if request.form['id']: # aktualizujemy pytanie p = Pytanie.select(Pytanie, Odpowiedz).join(Odpowiedz).\ where(Pytanie.id == int(request.form['id'])).get() p.pytanie = pytanie.strip() p.odpok = odpok.strip() p.save() for i, o in enumerate(list(p.odpowiedzi)): o.odpowiedz = odpowiedzi[i].strip() o.save() flash(u'Zmieniono pytanie:', 'sukces') except KeyError: # dodajemy nowe pytanie, brak id pytania! p = Pytanie(pytanie=pytanie.strip(), odpok=odpok.strip()) p.save() for odp in odpowiedzi: o = Odpowiedz(pnr=p, odpowiedz=odp.strip()) o.save() flash(u'Dodano pytanie:', 'sukces') flash("\n" + pytanie + " " + odpok.strip() + " (" + ", ".join(odpowiedzi) + ")", 'kom') return redirect(url_for('index')) else: for e in error: flash(e, 'blad') # GET, wyświetl formularz return render_template('dodaj.html')