示例#1
0
def edit_user():
    form = EditUserForm()
    if form.validate_on_submit():
        current_user.user_about_me = form.user_about_me.data
        current_user.user_name = form.user_name.data
        current_user.user_email = form.user_email.data
        current_user.user_password = generate_password_hash(
            form.user_password.data)
        current_user.user_department = form.user_department.data
        current_user.user_grade = form.user_grade.data

        try:
            with dbHelper.get_session() as session:
                session.commit()

        except Exception as e:
            abort(500)

        flash('Your changes have been saved.')
        return redirect(url_for('user', user_id=current_user.user_id))

    form.user_id.data = current_user.user_id or ''
    form.user_email.data = current_user.user_email
    form.user_name.data = current_user.user_name
    form.user_about_me.data = current_user.user_about_me
    form.user_department.data = current_user.user_department
    form.user_grade.data = str(current_user.user_grade)

    return render_template('edit_user.html', form=form)
def login():
    response_object = {"status": "success"}
    if request.method == "POST":
        post_data = request.get_json()
        user_exist = authenticate(post_data.get("email"),
                                  post_data.get("password"))

        if user_exist:
            user = models.USERS.query.filter_by(id=user_exist.id).first()
            user.user_last_seen = real_now

            try:
                with dbHelper.get_session() as session:
                    session.commit()
            except Exception as e:
                return jsonify(e)

            return jsonify({
                "accessToken":
                give_access_token(user_exist.id,
                                  user_exist.user_name).decode("UTF-8")
            })
        else:
            return "", 401

    return jsonify(response_object)
示例#3
0
def before_request():
    if current_user.is_authenticated:
        current_user.user_last_seen = datetime.utcnow()

        try:
            with dbHelper.get_session() as session:
                session.commit()

        except Exception as e:
            abort(500)
示例#4
0
def sign_up():
    form = SignUpForm(request.form)
    if form.validate_on_submit():
        user = models.User(user_email=form.user_email.data,
                           user_pw=form.user_password.data,
                           user_name=form.user_name.data)
        try:
            with dbHelper.get_session() as session:
                session.add(user)
        except Exception as e:
            return render_template('signUp.html', error=str(e))
        return redirect(url_for('index'))
    return render_template('signUp.html', form=form)
def give_refresh_token(user):
    payload = {"userId": user.id}

    refresh_token = jwt.encode(payload, Config.SECRET_KEY, "HS256")
    token = models.TOKEN(token_refresh=refresh_token)
    token.user = user

    try:
        with dbHelper.get_session() as session:
            session.add(token)
    except Exception as e:
        return jsonify(e)

    return refresh_token
示例#6
0
def change_password():
    form = ChangePasswordForm()
    if form.validate_on_submit():
        current_user.set_user_pw(form.user_password_new.data)

        try:
            with dbHelper.get_session() as session:
                session.commit()

        except Exception as e:
            abort(500)

        flash('Your changes have been saved.')
        return redirect(url_for('user', user_id=current_user.user_id))

    return render_template('edit_password.html', form=form)
示例#7
0
def upload():
    form = UploadForm()
    if request.method == 'POST':
        post_image = form.post_image.data
        if not post_image:
            flash('No Chosen')
            return redirect(url_for('index'))
        post_image.save(
            os.path.join(app.config['UPLOAD_FOLDER'],
                         secure_filename(post_image.filename)))
        post = models.Post(post_title=form.post_title.data,
                           post_image=secure_filename(post_image.filename))
        post.author = current_user
        try:
            with dbHelper.get_session() as session:
                session.add(post)
        except Exception as e:
            return render_template('index.html', error=str(e))
        return redirect(url_for('index'))
    return redirect(url_for('index'))
示例#8
0
def edit_user():
    form = EditUserForm()
    if form.validate_on_submit():
        current_user.user_email = form.user_email.data
        current_user.user_name = form.user_name.data

        try:
            with dbHelper.get_session() as session:
                session.commit()

        except Exception as e:
            abort(500)

        flash('Your changes have been saved.')
        return redirect(url_for('user'))

    form.user_email.data = current_user.user_email or ''
    form.user_name.data = current_user.user_name

    return render_template('editUser.html', form=form)
def join():
    response_object = {'status': 'success'}
    if request.method == 'POST':
        post_data = request.get_json()

        invalid_user = models.USERS.query.filter_by(
            user_email=post_data.get("email")).first()
        if invalid_user:
            return jsonify({"error": "이미 사용 중인 이메일입니다."})
        else:
            user = models.USERS(user_email=post_data.get("email"),
                                user_name=post_data.get("username"),
                                user_password=post_data.get("password"))

            give_refresh_token(user)

            try:
                with dbHelper.get_session() as session:
                    session.add(user)
            except Exception as e:
                return jsonify(e)
    else:
        response_object = {"status": "failed"}
    return jsonify(response_object)