def auth_register(): form = RegisterForm(request.form) if not form.validate(): return render_template("auth/register_form.html", form=form) if User.query.filter_by(username=form.username.data).first(): return render_template("auth/register_form.html", form=form, error="Username already in use") new_user = User(form.name.data, form.username.data, form.password.data) db.session().add(new_user) db.session().commit() if new_user.username == "admin": new_user.add_role("ADMIN") login_user(new_user) return redirect(url_for("index"))
def auth_register(): if request.method == "GET": return render_template("/auth/registerform.html", form=RegisterForm()) form = RegisterForm(request.form) non_unique_username = User.user_exists_with_username(form.username.data) if (not form.validate()) or non_unique_username: error_message = None if non_unique_username: error_message = "Käyttäjätunnus " + form.username.data + " on valitettavasti varattu" return render_template("/auth/registerform.html", form=form, non_unique_error=error_message) user = User(form.name.data, form.username.data, form.password.data, form.description.data) db.session.add(user) db.session.commit() user.add_role(Role.query.filter_by(name="DEFAULT").first()) login_user(user) return redirect(url_for("index"))
from application.search import views from application.developers import views from application.auth.models import User, UserRole # kirjautumistoiminnallisuus 2 @login_manager.user_loader def load_user(user_id): return User.query.get(user_id) # tietokannan luonti # materiaalin try - except johti ajoittain herokussa virheeseen kun dyno käynnistyy uudellen. from sqlalchemy import MetaData metadata = MetaData(db.engine, reflect=True) if not metadata.tables: db.create_all() # Alustetaan tietokanta jos sitä ei ole vielä luotu admin = User("Admin Hallitsija", "admin", "admin_salasana", None) admin_role = Role("ADMIN") normal = User("Esimerkki Käyttäjä", "testi", "salasana", None) default_role = Role("DEFAULT") db.session.add_all((admin, normal, admin_role, default_role)) db.session.commit() # vasta nyt pääavaimet on luotu admin.add_roles(admin_role, default_role) normal.add_role(default_role)