Beispiel #1
0
def auth_edit():
    if request.method == "GET":
        return render_template("auth/editinfo.html", user=current_user)

    if request.method == "POST":
        user = current_user
        username = request.form["username"]
        email = request.form["email"]
        changed = False

        # check for invalid input (only spaces)
        if username.isspace() or email.isspace():
            flash(
                "Virheellinen syöte (kentät eivät saa sisältää pelkästään välilyöntejä). Ole hyvä ja yritä uudestaan.",
                'warning')
            return render_template("auth/editinfo.html", user=current_user)

        # check if username is taken
        if user.username != username:
            res = User.count_users_with_username(username)
            if res == 0:
                user.username = username
                changed = True
            else:
                flash("Kyseinen nimimerkki on jo käytössä, ole hyvä ja valitse toinen.", 'warning')
                return render_template("auth/editinfo.html", user=current_user)

        # check if email is taken
        if user.email != email:
            res = User.count_users_with_email(email)
            if res == 0:
                user.email = email
                changed = True
            else:
                flash("Kyseinen sähköpostiosoite on jo käytössä, ole hyvä ja valitse toinen.", 'warning')
                return render_template("auth/editinfo.html", user=current_user)

        if changed:
            db.session().commit()
            flash("Tiedot päivitettiin onnistuneesti!", 'success')
            return redirect(url_for('auth_info', user=current_user))

        else:
            flash("Et muuttanut tietoja.", 'info')
            return render_template("auth/editinfo.html", user=current_user)