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 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 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")