예제 #1
0
def update_details():

    user_id = session['current_user']
    user = crud.get_user_by_id(user_id)

    new_email = request.form.get('email_search')
    new_username = request.form.get('username_search')
    print(new_username)
    print("*" * 100)

    new_password = request.form.get('password')
    new_city = request.form.get('city_search')

    city = crud.get_city_by_id(new_city)

    image_uploaded = request.files.get('image_upload')
    new_description = request.form.get('description')
    new_instagram = request.form.get('instagram')
    new_twitter = request.form.get('twitter')
    new_website = request.form.get('website')

    profile = crud.get_user_profile(user_id)

    returned_url = None

    if image_uploaded:
        response = cloudinary.uploader.upload(image_uploaded)
        returned_url = response['url']

    all_username = crud.search_username(new_username)

    all_email = crud.search_email(new_email)

    print(all_username)
    print(all_email)
    print("*" * 100)

    if all_username or all_email:
        flash('That username or email is taken already, try another one!')

    else:
        crud.update_user(user, new_email, new_password, new_username, city)

    if not profile:
        crud.create_profile(user, new_description, new_instagram, new_twitter,
                            new_website, returned_url)
        flash("user details created")

    else:
        crud.update_profile(user, returned_url, new_description, new_instagram,
                            new_twitter, new_website)
        flash("user details updated")

    return redirect('/users/your_entries')
예제 #2
0
def update_profile():
    """update user name and profile"""
    name = request.form.get("name")
    email = request.form.get("email")
    user_image = request.files['userimage']
    result = cloudinary.uploader.upload(user_image,
                                        api_key=CLOUDINARY_KEY,
                                        api_secret=CLOUDINARY_KEY_SECRET,
                                        cloud_name="dj4hb9gek")
    img_url = result['secure_url']
    crud.update_user(session['id'], name, email, img_url)

    return redirect("/")
예제 #3
0
def update_user(user_id):
    """Update user information."""

    old_password = request.form.get('old_password')
    new_password = request.form.get('new_password')

    user = crud.get_user_by_id(user_id)
    if old_password and not user.check_password(old_password):
        return jsonify({
            'status': 'error',
            'message': 'Previous password is incorrect.'
        })

    password = new_password

    fname = request.form.get('fname')
    lname = request.form.get('lname')
    email = request.form.get('email')
    image = request.files.get('image')
    about = request.form.get('about')
    image_url = ''

    if image:
        cloudinary_upload = cloudinary.uploader.upload(image)
        image_url = cloudinary_upload['url'].partition("upload")[2]

    user = crud.update_user(user, fname, lname, email, password, image_url,
                            about)
    return jsonify({
        'status': 'success',
        'message': 'Information updated successfully.',
        'user': user.to_dict('include_email')
    })
예제 #4
0
def update_user_image(user: schemas.UserUpdate, db: Session = Depends(get_db)):
    db_user = crud.get_user(db, user_id=user.id)
    if db_user is None:
        raise HTTPException(status_code=404, detail="User not found")
    if not is_valid_image(user.image):
        raise HTTPException(status_code=422, detail="Invalid image data")
    return crud.update_user(db=db, user=user)
예제 #5
0
파일: me.py 프로젝트: matixezor/movies-api
def update_self_user(updated_user: UserUpdate,
                     user: User = Depends(get_current_user),
                     db: Session = Depends(get_db)):
    """
    Modify your information with given data:
    - **email**: required
    - **name**: required
    - **phone**: optional
    - **address*: optional
    """
    return crud.update_user(db, user_id=user.id, user=updated_user)
예제 #6
0
def modify_user(updated_user: UserUpdate,
                user: User = Depends(get_user),
                db: Session = Depends(get_db)):
    """
    Modify user with given information:
    - **email**: required
    - **name**: required
    - **phone**: optional
    - **address*: optional
    """
    user_db = crud.get_user_by_email(db, updated_user.email)
    if user_db.id != user.id:
        raise HTTPException(status_code=status.HTTP_400_BAD_REQUEST,
                            detail='Email already taken!')
    return crud.update_user(db, user_id=user.id, user=updated_user)
예제 #7
0
async def update_user(userId: int,
                      user: User,
                      response: Response,
                      db: Session = Depends(get_db)):
    db_user = models.User(id=userId,
                          username=user.username,
                          firstname=user.firstName,
                          lastname=user.lastName,
                          email=user.email,
                          phone=user.phone)
    db_user = crud.update_user(db, db_user)
    if db_user is None:
        response.status_code = status.HTTP_404_NOT_FOUND
        return None
    user = User(id=db_user.id,
                username=db_user.username,
                firstName=db_user.firstname,
                lastName=db_user.lastname,
                email=db_user.email,
                phone=db_user.phone)
    return user.dict()
예제 #8
0
def update_user(user: schemas.UserUpdate, db: Session=Depends(get_db)) -> Any:
    if id is None:
        raise HTTPException(status_code=400, detail="Id must be included in parameter")
    return crud.update_user(db=db, user=user)
예제 #9
0
def update_user(user_id: int, user: schemas.UserCreate, db: Session = Depends(get_db)):
    return crud.update_user(db=db, user_id=user_id, user=user)
def update_user(user_id: int, db: Session = Depends(get_db)):
    db_user = crud.update_user(db, user_id=user_id)
    return db_user                             
예제 #11
0
def update_user(user: UserCreateSchema, db: Session = Depends(get_db)):
    db_user = crud.get_user_by_email(db, email=user.email)
    if db_user:
        return crud.update_user(db=db, existing_user=db_user, updated_user=user)
    return crud.create_user(db=db, user=user)
예제 #12
0
def update_user(user: schemas.user.DeepliftUserUpdate, db: Session = Depends(get_db)):
    if not crud.user_username_exists(db, user.userName):
        raise HTTPException(status_code=400, detail="Username not registered!")
    return crud.update_user(db=db, user=user)