def signup(): req_data = request.get_json() res = {'status': '', 'data': {}, 'error': {}} email = req_data['email'] name = req_data['name'] password = req_data['password'] secret_word = req_data['secret_word'] if not re.match(email_regexp, email): res['status'] = app_constants.notok_status res['error'] = 'Email pattern not ok !' return api_response(res, 400) elif validate_password( password) != True: #poate ar trebui sa scriu altfel asta :) res['status'] = app_constants.notok_status res['error'] = validate_password(password) return api_response(res, 400) elif secret_word != current_app.config['SECRET_WORD_REGISTRATION']: res['status'] = app_constants.notok_status res['error'] = 'Wrong secret word !' return api_response(res, 400) else: user = UserModel.query.filter_by(email=email).first() if not user: new_user = UserModel(name=name, email=email, password=password) role = RoleModel.query.get(app_constants.ROLE_USER) new_user.roles.append(role) new_user.set_password(password) db.session.add(new_user) db.session.commit() res['status'] = app_constants.ok_status return api_response(res) else: res['status'] = app_constants.notok_status res['error'] = 'User already exist !' return api_response(res, 400)
def signUp(): name = request.form['name'] email = request.form['email'] password = request.form['password'] if name and email and password: model = UserModel() hasUser = model.checkUser(name=name, email=email) if hasUser: model.createUser(name=name, email=email, password=password) session['email'] = email return redirect(url_for("courses")) else: return render_template("signup.html")
def login(): email = request.form['email'] password = request.form['password'] model = UserModel() if email and password: result = model.checkAndGetUserInfo(email=email, password=password) if result: session['userId'] = result['user_id'] session['email'] = email session['role'] = result['role'] return redirect(url_for("courses")) return render_template("login.html")
def put(self): parser = reqparse.RequestParser() parser.add_argument('login', type=str) parser.add_argument('password', type=str) parser.add_argument('email', type=str) args = parser.parse_args() current_user = get_jwt_identity() if current_user == 'chemist': try: pw_hash = bcrypt.generate_password_hash( args['password']).decode('utf-8') user = UserModel(name=args['login'], email=args['email'], password=pw_hash) db.session.add(user) db.session.commit() except SQLAlchemyError: return make_response( jsonify(message='Problem adding user to the database', success=False)) return make_response(jsonify(success=True)) else: return make_response( jsonify(message='Access denied', success=False), 401)
def post(self): success_message = {"message": "Registered Successfully"} error_message = {"message": "Error creating User"} #lamdas wrapper = Wrapper(parser) register_db_response = UserModel.register(wrapper.username, wrapper.password) if(register_db_response == 200): return success_message, register_db_response else: return error_message, register_db_response
def forgot_password_process(p_token): res = {'status': app_constants.ok_status, 'data': {}, 'error': {}} req_data = request.get_json() new_password = req_data['password'] user = UserModel.verify_reset_password(p_token) if not user: res['status'] = app_constants.notok_status res['error'] = 'Token is incorrect !' return api_response(res, 401) user.set_password(new_password) db.session.commit() res['status'] = app_constants.ok_status return api_response(res, 200)