예제 #1
0
def save_new_user(request):
    login = request.POST['login']
    email = request.POST['email']

    if len(login) == 0 or len(email) == 0:
        return Response('Bad input', content_type='text/plain', status_int=500)

    try:
        exists = DBSession.query(User).filter(or_(User.login == login,
                                                  User.email == email)).count()
        if exists > 0:
            existing_user = DBSession.query(User).filter(User.login == login).first()
            return HTTPFound(location=route_url('show_user', request, id=existing_user.id))

        user = User(login, email)
        user.first_name = request.POST['first_name']
        user.last_name = request.POST['last_name']
        user.user_name = request.POST['user_name']
        user.password = request.POST['password']
        user.gender = request.POST['gender']
        user.created_date = datetime.datetime.now()
        user.last_login_date = datetime.datetime.now()

        DBSession.add(user)
        DBSession.flush()
        return HTTPFound(location=route_url('show_user', request, id=user.id))
    except DBAPIError:
        return Response(conn_err_msg, content_type='text/plain', status_int=500)
예제 #2
0
def show_user(request):
    try:
        user_id = request.matchdict['id']
        user = DBSession.query(User).filter(User.id == user_id).first()
        return user
    except DBAPIError:
        return Response(conn_err_msg, content_type='text/plain', status_int=500)
예제 #3
0
def show_review(request):
    try:
        review_id = request.matchdict['id']
        review = DBSession.query(Review).filter(Review.id == review_id).first()
        return review
    except DBAPIError:
        return Response(conn_err_msg, content_type='text/plain', status_int=500)