def login(): userf = UserForm() admin = AdminForm() if userf.validate_on_submit(): comand = userf.comand_name.data username = userf.username.data password = userf.password.data db_sess = db_session.create_session() team = db_sess.query(Teams).filter(Teams.name == comand).filter( Teams.name != 'Admins').first() if team and check_password_hash(team.password_hash, password): users = db_sess.query( User.username).filter(User.team == team.name).all() users_names = [x[0] for x in users] if username in users_names: login_user( db_sess.query(User).filter(User.team == team.name).filter( User.username == username).first()) return redirect("/user") else: if len(users) < 6: us = User() us.username = username us.team = comand db_sess.add(us) db_sess.commit() login_user(us) return redirect("/user") else: return render_template('login.html', form=userf, adm_form=admin) return render_template('login.html', form=userf, adm_form=admin) if admin.validate_on_submit(): name = admin.ad_username.data password = admin.ad_password.data db_sess = db_session.create_session() admins = db_sess.query(User).filter(User.username == name).filter( User.role == 1).first() team = db_sess.query(Teams).filter(Teams.name == 'Admins').first() if admins and check_password_hash(team.password_hash, password): login_user(admins) return redirect('/admin') else: return render_template('login.html', form=userf, adm_form=admin) return render_template('login.html', title='Авторизация', form=userf, adm_form=admin)