def newuser(): try: if request.method == "GET": return render_template("auth/newuser.html", form=LoginForm()) form = LoginForm(request.form) if not form.validate(): return render_template( "auth/newuser.html", form=form, error= "Invalid input. The username and password must have 3-20 characters, and mustn't contain illegal characters." ) user = db.session.query( User).filter((User.name == form.username.data) | (User.username == form.username.data)).first() if user: return render_template("auth/newuser.html", form=form, error="Username already in use") user = User(form.username.data, form.username.data, form.password.data) user.acc_type = "USER" db.session().add(user) db.session().commit() login_user(user) return redirect(url_for("main")) except: print("Something went wrong.") db.session().rollback() return redirect(url_for("page_404"))
return wrapper from application.auth.management import views @login_manager.user_loader def load_user(user_id): return User.query.get(user_id) try: db.create_all() except: pass #Luodaan admin-käyttäjä, mikäli sellaista ei vielä ole from application.threads.functions import delete_user admin = User.query.filter_by(id=1, acc_type="ADMIN").first() if not admin: user = User.query.filter_by(id=1).first() if user: delete_user(user) u = User(DEFAULT_ADMIN_USERNAME, DEFAULT_ADMIN_USERNAME, DEFAULT_ADMIN_PASSWORD) u.acc_type = "ADMIN" u.id = 1 db.session().add(u) db.session().commit()