def app_client(sample_app: Flask): with sample_app.test_request_context(): sample_app.db.create_all() session = sample_app.db.session for user in populate_users: new_user = UserModel( nickname=user["nickname"], first_name=user["first_name"], last_name=user["last_name"], email=user["email"], password=user["password"], biography=user["biography"], ) session.add(new_user) session.commit() session.close() yield sample_app.test_client() with sample_app.test_request_context(): all_users = session.query(UserModel).paginate().items for user in all_users: session.delete(user) session.commit() session.close() sample_app.db.drop_all()
def login(): login_form = LoginForm() context = {'login_form': login_form} if login_form.validate_on_submit(): username = login_form.username.data password = login_form.password.data user_doc = get_user(username) if user_doc.to_dict() is not None: password_from_db = user_doc.to_dict()['password'] if password == password_from_db: user_data = UserData(username, password) user = UserModel(user_data) login_user(user) flash('Bienvenido de nuevo') redirect(url_for('hello')) else: flash('La informacion no coincide') else: flash('El usuario no existe') return redirect(url_for('index')) return render_template('login.html', **context)
def register(request): method = request.method if method == "GET": #展示注册界面 return render(request, "user/user_register.html") elif method == "POST": #处理注册请求 # 获取数据 postParam = request.POST username = postParam.get("username") password = postParam.get("password") email = postParam.get("email") imgFile = request.FILES.get("imgFile") # 保存到数据库中 userModel = UserModel() userModel.u_name = username # userModel.u_passwd = pass # print(password) userModel.u_passwd = password userModel.u_mail = email userModel.u_img = imgFile userModel.save() # 重定向到登录界面 # return HttpResponse("注册成功") return redirect(reverse("axf:login"))
def login(): if current_user.is_authenticated: return redirect(url_for('index')) login_form = LoginForm() context = { 'login_form': login_form, } if login_form.validate_on_submit(): username = login_form.username.data password = login_form.password.data user_doc = get_user(username) if user_doc.to_dict() is not None: db_password = user_doc.to_dict()['password'] if check_password_hash(db_password, password): user_data = UserData(username, password) user_model = UserModel(user_data) login_user(user_model) flash(f'Login Correcto!!!', 'success') return redirect(url_for('hello')) else: flash(f'La informacion no coincide!!!', 'danger') else: flash(f'Usuario no encontrado!!!', 'danger') return redirect(url_for('index')) return render_template('login.html', **context)
def signup(): sign_form = loginForm() context = { 'form': sign_form } if sign_form.validate_on_submit(): username = sign_form.username.data password = sign_form.password.data user_doc = get_user_by_id(username) if user_doc.to_dict() is None: pass_hash = generate_password_hash(password) user_data = UserData(username, pass_hash) insert_user(user_data) user = UserModel(user_data) login_user(user) flash('Usuario creado correctamente', 'success') return redirect(url_for('hello')) else: flash('El usuario ya existe', 'warning') return render_template('signup.html', **context)
def signup(): signup_form = LoginForm() context = {'signup_form': signup_form} #POST: buscamos al usuario si es que existe, ya es usuario, si no, lo creamos if signup_form.validate_on_submit(): username = signup_form.username.data password = signup_form.password.data #vamos a buscar ese usuario en nuestra BD user_doc = get_user(username) if user_doc.to_dict() is None: #generamos un password hash del password que nos envia el usuario password_hash = generate_password_hash(password) #creamos una nueva instancia de user_data user_data = UserData(username, password_hash) #creamos una funcion desde firestore_service para que persista el dato del usuario user_put(user_data) #ya que creamos un nuevo usuario en la base de datos, creamos un usermodel para poder logearlo en la sesion user = UserModel(user_data) login_user(user) flash('Bienvenido') return redirect(url_for('hello')) else: flash('El usuario ya existe') return render_template('signup.html', **context)
def login(): login_form = LoginForm() context = {'login_form': login_form} if login_form.validate_on_submit(): username = login_form.username.data password = login_form.password.data user_doc = get_user(username) if user_doc[0] is not None: password_from_db = user_doc[1] if password == password_from_db: user_data = UserData(username, password) user = UserModel(user_data) login_user(user) flash('Welcome again') redirect(url_for('hello')) else: flash('The information dont match') else: flash('The user doesnt exists') return redirect(url_for('index')) return render_template('login.html', **context)
def signup(): signup_form = SignupForm() if signup_form.validate_on_submit(): email = signup_form.email.data password = signup_form.password.data user_doc = get_user(email).to_dict() if user_doc is None: password_hash = generate_password_hash(password) user_data = UserData(email, password_hash) user_put(user_data) user = UserModel(user_data) login_user(user) flash('Welcome to our app', 'success') return redirect(url_for('panel')) else: signup_form.email.errors.append('User already exists') context = { 'signup_form': signup_form, } return render_template('signup.html', **context)
def login(): """Login view""" login_form = LoginForm() context = { 'login_form': login_form } if login_form.validate_on_submit(): username = login_form.username.data password = login_form.password.data user_doc = get_user(username) if user_doc.to_dict() is not None: password_from_db = user_doc.to_dict()['password'] if password_from_db == password: user_data = UserData(username, password) user = UserModel(user_data) login_user(user) flash('Welcome aboard') redirect(url_for('hello')) else: flash('password incorrect') else: flash('User does not exist!') return redirect(url_for('index')) return render_template('login.html', **context)
def signup(): signup_form = LoginForm() context = { 'signup_form': signup_form, } if signup_form.validate_on_submit(): username = signup_form.username.data password = signup_form.password.data user_doc = get_user(username) if user_doc.to_dict() is None: password_hash = generate_password_hash(password) user_data = UserData(username, password_hash) # create user in the data base create_user(user_data) # login user in the app user = UserModel(user_data) login_user(user) flash('Welcome') return redirect(url_for('hello')) else: flash('This user already exists') return render_template('signup.html', **context)
def login(): login_form = LoginForm() if login_form.validate_on_submit(): email = login_form.email.data password = login_form.password.data user_doc = get_user(email).to_dict() if user_doc is not None: if check_password_hash(user_doc['password'], password): user_data = UserData(email, password) user = UserModel(user_data) login_user(user) flash('Login successful', 'success') return redirect(url_for('index')) else: login_form.email.errors.append('Invalid Username/password') else: login_form.email.errors.append('User not found') context = { 'login_form': login_form, } return render_template('login.html', **context)
def login(): login_form = LoginForm() context = { 'login_form': LoginForm(), } if login_form.validate_on_submit(): username = login_form.username.data password = login_form.password.data # Get user from database user_doc = get_user(username) if user_doc.to_dict() is not None: # Getting password from DB password_from_db = user_doc.to_dict()['password'] # Check is password is correct if check_password_hash(password_from_db, password): user_data = UserData(username, password) user = UserModel(user_data) login_user(user) flash('Welcome back') redirect(url_for('hello')) else: # wrong password flash('Wrong password') else: # User not found flash('User doesn\'t exists') return redirect(url_for('index')) return render_template('login.html', **context)
def post(self): data = parser.parse_args() if UserModel.find_by_username(data['username']): return { 'message': 'User {} already exists'.format(data['username']) } new_user = UserModel(username=data['username'], email=data['email'], fullname=data['fullname'], password=UserModel.generate_hash( data['password'])) try: new_user.save_to_db() access_token = create_access_token(identity=data['username']) refresh_token = create_refresh_token(identity=data['username']) return { 'message': 'User {} was created'.format(data['username']), 'access_token': access_token, 'refresh_token': refresh_token } except: return {'message': 'Something went wrong'}, 500
def register(request): method = request.method if method == "GET": #请求注册页面 return render(request, "user/user_register.html") elif method == "POST": #执行注册 # 现获取到上传的数据 username = request.POST.get("username") password = request.POST.get("password") email = request.POST.get("email") icon = request.FILES["icon"] # print(username) # print(password) # print(email) # print(icon) # 保存到数据库 userModel = UserModel() userModel.username = username userModel.password = createPwd(password) userModel.email = email userModel.icon = icon # 保存 userModel.save() # 设置session,存储userid request.session["user_id"] = userModel.id return redirect(reverse("axf:mine"))
def login(): login_form = LoginForm() context = { 'login_form': login_form } if login_form.validate_on_submit(): username = login_form.username.data password = login_form.password.data user_doc = get_user(username) if user_doc.to_dict() is not None: #password_from_db = user_doc.to_dict()['password'] if check_password_hash(user_doc.to_dict()['password'], password): user_data = UserData(username, password) user = UserModel(user_data) print(f'-user: {user}') status=login_user(user) redirect(url_for('hello')) else: flash('La información no coincide') else: flash('El usario no existe') return redirect(url_for('index')) return render_template('login.html', **context)
def login(): login_form = LoginForm() context = {'login_form': login_form} if login_form.validate_on_submit(): username = login_form.username.data password = login_form.password.data user_doc = get_user(username) if user_doc.to_dict() is not None: password_from_db = user_doc.to_dict()['password'] if check_password_hash(password_from_db, password): user_data = UserData(username, password) user = UserModel(user_data) login_user(user) flash('Welcome Back') redirect(url_for('hello')) else: flash('Data does not match') else: flash('User does not exist') return redirect(url_for('index')) return render_template('login.html', **context)
def login(): #Para mandar un submit, hay que agregarlo al contexto login_form = LoginForm() # La funcion debe retornar 200 y la app debe tener incluido el Blueprint context = {'login_form': LoginForm()} if login_form.validate_on_submit(): #validemos que el usuario esta en la base de datos #Si la forma es valida, obtenemos el username y password username = login_form.username.data #es ua instancia de StringField password = login_form.password.data user_doc = get_user(username) if user_doc.to_dict() is not None: password_from_db = user_doc.to_dict()['password'] if password == password_from_db: user_data = UserData(username, password) user = UserModel(user_data) login_user(user) flash('Bienvenido de nuevo') redirect(url_for('hello')) else: flash('La información no coincide') else: flash('El usuario no existe') #como ya obtenemos el username, lo guardamos en la sesion #para desplegar el username return redirect(url_for('index')) return render_template('login.html', **context) # se envia el contexto expandido
def login(): login_form = Login_Form() context = {'login_form': login_form} if request.method == 'POST': username = login_form.username.data password = login_form.password.data user_doc = get_user(username) if user_doc.to_dict(): if check_password_hash(user_doc.to_dict()['password'], password): email = user_doc.to_dict()['email'] user_data = UserData(username, password, email) user = UserModel(user_data) login_user(user) flash('Welcome again!', 'success') redirect(url_for('hello')) else: flash('Username or password is incorrect', 'danger') else: flash('Username not found', 'danger') return redirect(url_for('hello')) return render_template('auth/login.html', **context)
def signup(): signup_form = loginForm() context = { 'signup_form': signup_form, } if signup_form.validate_on_submit(): username = signup_form.username.data password = signup_form.password.data print(signup_form.submit.data) user_document = get_user(username) if user_document.to_dict() is None: password_hash = generate_password_hash(password) #password_db = user_document.to_dict().get('password') user_data = UserData(username, password_hash) put_user(user_data) user_model = UserModel(user_data) login_user(user_model) flash('Bienvenido !!!') redirect((url_for('hello'))) else: flash('El usuario ya existe !') #session['username'] = username #flash('Registro exitoso') return redirect(url_for('index')) return render_template('signup.html', **context)
def test_create_user(self): user = UserModel(username='******', email='*****@*****.**') user.password = '******' self.assertEqual(user.username, 'testusername', "error try again") self.assertTrue(user.verify_password('testpassword'), "error try again")
def signup(): signup_form = LoginForm() context = {'signup_form': signup_form} if signup_form.validate_on_submit(): username = signup_form.username.data password = signup_form.password.data user_doc = get_user(username) if not user_doc.to_dict(): password_hash = generate_password_hash(password) user_data = UserData(username, password_hash) user_put(user_data) user = UserModel(user_data) login_user(user) flash('Bienvenido!!') return redirect(url_for('hello')) else: flash('El usuario ya existe') return render_template('signup.html', **context)
def login(): login_form = LoginForm() context = {'login_form': login_form} if login_form.validate_on_submit(): username = login_form.username.data password = login_form.password.data user_doc = get_user(user_id=username) if user_doc.to_dict() is not None: password_from_db = user_doc.to_dict()['password'] if check_password_hash(password_from_db, password): user_Data = UserData(username, password) user = UserModel(user_Data) login_user(user) return redirect(url_for("hello")) else: flash("La información no coincide") else: flash("Usuario no existe") return redirect(url_for('index')) return render_template('login.html', **context)
def login(): login_form = loginForm() context = { 'form': login_form } if login_form.validate_on_submit(): username = login_form.username.data password = login_form.password.data user_doc = get_user_by_id(username) if user_doc.to_dict() is not None: password_from_db = user_doc.to_dict()['password'] if check_password_hash(password_from_db, password): user_data = UserData(username, password) user = UserModel(user_data) login_user(user) flash('Bienvenido de nuevo', 'success') redirect(url_for('hello')) else: flash('Usuario y/o contrasena incorrectos', 'warning') return redirect(url_for('index')) return render_template('login.html', **context)
def register(self): headline("Pendaftaran Pelanggan") first_name = input("Masukkan nama depan: ") last_name = input("Masukkan nama belakang: ") username = input("Masukkan username: "******"Masukkan password: "******"Masukkan email: ") phone = input("Masukkan phone: ") address = input("Masukkan address: ") gender = input("Masukkan gender (L/P): ") try: UserModel().add_user( first_name=first_name, last_name=last_name, username=username, password=password, email=email, phone=phone, address=address, gender=gender, is_admin=0, ) except Exception as err: return print(err) input("Berhasil daftar, Tekan Enter login.") self.login()
def post(self): current_app.logger.info(f'Received POST on users') gov_id = request.form.get('gov_id') first_name = request.form.get('first_name') last_name = request.form.get('last_name') email = request.form.get('email') ethereum_id = request.form.get('ethereum_id') password = request.form.get('password') role_id = request.form.get('role_id') user = UserModel(gov_id=gov_id, first_name=first_name, last_name=last_name, email=email, ethereum_id=ethereum_id, password=password, role_id=role_id) try: db.session.add(user) db.session.commit() except exc.IntegrityError as e: current_app.logger.error(e.orig) db.session.rollback() return dict( error=f'There was an error creating the user:{e.orig}'), 400 return dict(user=user.to_dict()), 201
def login(): form = Login() if current_user.is_authenticated: return redirect(url_for('home')) if form.validate_on_submit(): email = form.email.data password = form.password.data user_doc = get_user(email) if user_doc.to_dict() is not None: password_from_db = user_doc.to_dict()['password'] if check_password_hash(password_from_db, password): user_data = UserData(user_doc.to_dict()['name'], email, password) user = UserModel(user_data) login_user(user) flash(u'Bienvenido de nuevo!', 'success') return redirect(url_for('home')) else: flash('Información no validad', 'error') else: flash('El usuario no existe!', 'error') return redirect(url_for('auth.login')) return render_template('login.html', form=form)
def register(): error = None if current_user.is_authenticated: return redirect(url_for('index')) form = RegistrationForm() if form.validate_on_submit(): user = UserModel(first_name=form.first_name.data, email=form.email.data) user.username = user.email if len(form.password.data) < 8: error = 'Make sure your password is at least 8 letters' flash('Invalid password.', 'error') elif re.search('[0-9]', form.password.data) is None: error = 'Make sure your password has a number in it' elif re.search('[A-Z]', form.password.data) is None: error = 'Make sure your password has a capital letter in it' else: user.set_password(form.password.data) db.session.add(user) db.session.commit() flash('Congratulations, you are now a registered user!') return redirect(url_for('login')) flash('Invalid password.', 'error') #return redirect(url_for('register')) return render_template('register.html', title='Register', form=form, error=error)
def register(request): if request.method == 'GET': return render(request, 'user/user_register.html') elif request.method == 'POST': username = request.POST.get('username') password = make_password(request.POST.get('password')) users = UserModel.objects.filter(username=username) if users.exists(): return HttpResponse("此用户已经存在") email = request.POST.get('email') icon = request.FILES["icon"] user = UserModel() user.username = username user.password = password user.mail = email user.icon = icon user.save() request.session['user_id'] = user.id return redirect(reverse('app:mine'))
def login(): """ Exchange Google's authorization code for an access token :return: """ # Only accept Google authorization at this time if request.args.get('provider') != 'google': return send_error('Invalid provider', status_code=400) code = request.get_json()['code'] access_token_data = {} if code is None: raise ValidationError('Authorization code is missing.') try: # Upgrade the authorization code into a credentials object oauth_flow = flow_from_clientsecrets(CLIENT_SECRET_FILE, scope='') oauth_flow.redirect_uri = 'postmessage' credentials = oauth_flow.step2_exchange(code) except Exception as e: raise ValidationError('Can\'t use authorization code to exchange for access token') gplus_id = credentials.id_token['sub'] access_token_data['gplus_id'] = gplus_id # Get user info user_info_url = 'https://www.googleapis.com/oauth2/v1/userinfo' params = {'access_token': credentials.access_token, 'alt': 'json'} response = requests.get(user_info_url, params=params) data = json.loads(response.text) oauth = OpenAuthenticationModel.find(data['id'], 'google') if oauth is not None: user = UserModel.find(user_id=oauth.user_id) access_token_data['id'] = user.id access_token_data['type'] = oauth.type else: # Create user and provider_info new_user = UserModel(username=data['email']) db.session.add(new_user) db.session.commit() new_oauth = OpenAuthenticationModel(id=data['id'], user_id=new_user.id, type='google') db.session.add(new_oauth) db.session.commit() access_token_data['id'] = new_user.id access_token_data['type'] = new_oauth.type access_token = jwt.encode(access_token_data, config.JWT_SECRET_KEY, algorithm='HS256') return send_success(access_token.decode('utf-8'))
def test_create_category(self): user = UserModel(username='******', password='******') category = CategoryModel(name='categoryname', user=user) self.assertEqual( category.name, 'categoryname', "The name of the category after creation in wrong!!.")