def create_or_get_user(user_details, token): """ {'sub': '108756046399083923726', 'name': 'roc e', 'given_name': 'roc', 'family_name': 'e', 'profile': 'https://plus.google.com/108756046399083923726', 'picture': 'https://lh3.googleusercontent.com/-XdUIqdMkCWA/AAAAAAAAAAI/AAAAAAA AAAA/4252rscbv5M/photo.jpg', 'email': '*****@*****.**', 'email_verified': True, 'gender': 'male'} :param user_details: :return: """ user = User.query.filter_by(email=user_details['email']).first() if user is None: user = User() user.email = user_details['email'] user.first_name = user_details['given_name'] user.last_name = user_details['family_name'] user.picture = user_details['picture'] user.access_token = token['access_token'] db.session.add(user) db.session.commit() return user
def register(): form = RegisterForm() if form.validate_on_submit(): user = User.query.filter( or_(User.mobile_phone == form.login.data, func.lower(User.email) == func.lower( form.login.data))).first() if not user: hashed_password = bcrypt.generate_password_hash( form.password.data).decode('utf-8') user = User(password=hashed_password, is_active=True, user_confirmed_at=datetime.utcnow()) if form.is_phone_login: user.mobile_phone = form.login.data else: user.email = form.login.data db.session.add(user) db.session.commit() login_user(user, remember=False) flash( f'Your account was successfully created and you have been logged in.', 'success') return redirect(url_for('users.profile')) else: flash('A user with that login already exists', 'danger') return render_template('register.html', form=form)
def create_user(username, password, email, name): u = User() u.username = username u.password = generate_password_hash(password) u.email = email u.name = name u.active = True return u
def register(self, request, *args, **kwargs): serializer = RegisterSerializer(data=request.data) if serializer.is_valid(): validated_data = serializer.validated_data user = User(**validated_data) user.email = user.username user.identification_code = User.generate_identification_code() user.set_password(validated_data['password']) with transaction.atomic(): user.save() return self.login(user) return Response({'errors': serializer.errors}, status=status.HTTP_400_BAD_REQUEST)
def invite_user(): form = InviteUserForm() if form.validate_on_submit(): submitted_login = form.login.data.strip().replace(' ', '') user = get_user_by_login(submitted_login) if not user: invited_user = User() is_phone_number = False try: phonenumber = phonenumbers.parse(form.login.data) is_phone_number = True except phonenumbers.phonenumberutil.NumberParseException as error: pass invited_user.first_name = form.first_name.data.strip() invited_user.last_name = form.last_name.data.strip() hashed_password = bcrypt.generate_password_hash( form.password.data).decode('utf-8') invited_user.password = hashed_password invited_user.is_active = True if is_phone_number: invited_user.mobile_phone = form.login.data invited_user.prayer_requests_by_sms = True log_in = invited_user.mobile_phone else: invited_user.email = form.login.data invited_user.prayer_requests_by_email log_in = invited_user.email invited_user.invited_at = datetime.utcnow() invited_user.invited_by = current_user.id db.session.add(invited_user) db.session.commit() send_invitation(log_in, is_phone_number, form.password.data, invited_user, current_user) flash( f'The invitation was sent to {invited_user.first_name} {invited_user.last_name}', 'info') return redirect(url_for('main.home')) else: flash('A user with that login information already exists.', 'info') return render_template('invite.html', form=form)
def create_user(): """ Create a story from the provided json :param json: :return: """ user = User() # check if the post request has the file part if 'Image' in request.files: print(request.files) file = request.files['Image'] filename = secure_filename(file.filename) print(filename) file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename)) user.imagefile = filename user.firstName = request.form['firstName'] user.lastName = request.form['lastName'] user.email = request.form['email'] user.password = generate_password_hash(request.form['password']) ''' content = request.get_json(silent=True) user = User() user.firstName = content.get("firstName") user.lastName = content.get("lastName") user.email = content.get("email") user.password = generate_password_hash(content.get("password")) ''' try: user_id = user.save() except Exception as e: return build_response.build_json({"error": str(e)}) return build_response.build_json({"_id": str(user_id.id)})