Пример #1
0
def rate_movie():
    """Rate a movie."""

    score = request.form.get("rating")
    movie_id = request.form.get("movie_id")
    user_id = session.get("user_id")
    timestamp = datetime.datetime.now()

    if "user_id" not in session:
        flash("Hey, you're not logged in!")
        return redirect("/login")

    rating = Rating.query.filter_by(movie_id=movie_id,
                                    user_id=user_id).first()
    if not rating:
        # Only add a rating if the user is logged in
        rating = Rating(movie_id=movie_id,
                        user_id=user_id,
                        score=score,
                        timestamp=timestamp)
    else:
        rating.score = score

    db.session.add(rating)
    db.session.commit()
    flash("Successfully rated movie.")

    return redirect("/movies/{}".format(movie_id))
Пример #2
0
def add_rating(movie_id):
    """ user adds a rating to a movie """

    # gets a score form the user throu the form
    score = request.form.get("score")

    if 'user_id' in session:
        check_rating = db.session.query(Rating).filter(
            Rating.user_id == session['user_id'],
            Rating.movie_id == movie_id).first()
        if check_rating is None:
            # adds a rating to a movie
            new_rating = Rating(score=score,
                                movie_id=movie_id,
                                user_id=session['user_id'])
            db.session.add(new_rating)
            db.session.commit()
            return redirect('/')
        else:
            # updates an existing rating to a movies
            new_rating = Rating.query.filter_by(
                movie_id=movie_id, user_id=session['user_id']).first()
            new_rating.score = score
            db.session.add(new_rating)
            db.session.commit()
            return redirect('/')
    else:
        return redirect("/log-in")
Пример #3
0
def rating_successful():
    """Process new rating and redirect to movie profile page."""

    score = request.form.get("rating")
    user_email = session["email"]
    timestamp = datetime.now()
    movie_id = request.form.get("movie_id")

    # Query the DB for the user id, using the email from the session
    user_id = db.session.query(User).filter(User.email == user_email).one().user_id

    count_ratings = db.session.query(Rating).filter(Rating.user_id == user_id, Rating.movie_id == movie_id).count()

    if count_ratings == 0:
        rating = Rating(user_id=user_id, movie_id=movie_id, score=score, 
                        timestamp=timestamp)

        db.session.add(rating)
        db.session.commit()

        flash("Successfully added rating!")

    elif count_ratings == 1:
        rating = db.session.query(Rating).filter(Rating.user_id == user_id, Rating.movie_id == movie_id)
        rating.score = score
        db.session.commit()

        flash("Successfully updated rating!")

    return redirect('/movies/' + movie_id)
Пример #4
0
def processing_user_score():
    """Records new rating or updates existing rating"""

    user_score = request.args.get("score")

    #for user_id and movie_id 
    # if score is Null create new rating in db +flash "u ranked the movie!"
    # else: update score in db + flash
    # add to db
    # commit

    rating_in_db = db.session.query(Rating.score).filter((Rating.movie_id == movie_id) &
        (Rating.user_id == user_id)).first()

    if not rating_in_db:
        flash("Yay you've rated this movie!")
        rating_in_db = Rating(user_id=user_id, movie_id=movie_id, user_score=score)
        db.session.add(rating_in_db)  
    else:
        flash("We've updated your score for this movie!")
        rating_in_db.score = int(user_score)

    db.session.commit()

    return redirect("/movies" + str(movie_id))
Пример #5
0
def add_rating_to_db():
    """Add user rating to database"""

    user_rating = request.form.get("rating")
    user_id = session["logged_in_user_id"]
    movie_id = request.form.get("movie_id")

    # Check to see if rating already exists in the database
    # If it's not there, .first() will return None
    rating = Rating.query.filter(Rating.user_id == user_id,
                                 Rating.movie_id == movie_id).first()

    # If the rating does not already exist, add it to the database
    if not rating:
        rating = Rating(user_id=user_id, movie_id=movie_id, score=user_rating)
        db.session.add(rating)
        db.session.commit()
        flash("Added rating.")
        return redirect("/movies/" + movie_id)

    #  If the rating already exists in the database for that user
    #  update the rating to reflect the new score
    else:
        rating.score = user_rating
        db.session.commit()
        flash("Updated rating.")
        return redirect("/movies/" + movie_id)
Пример #6
0
def drug_details_process():
    """Add/edit a rating."""

    spl_set_id = session.get('spl_set_id')

    thisdrug = Drug.query.get(spl_set_id)

    score = int(request.form["score"])

    comment = request.form["comment"]

    side_effect = request.form.getlist('side_effect')

    user_id = session.get("user_id")

    rating = Rating.query.filter_by(user_id=user_id, spl_set_id=spl_set_id).first()

    if not rating:
        rating = Rating(user_id=user_id, spl_set_id=spl_set_id)

    rating.score = score
    rating.comment = comment
       
    rating.reset_side_effect()

    for item in side_effect:
        rating.add_side_effect(item)

    db.session.add(rating)
    db.session.commit()

    return redirect("/rate_drug?spl_set_id=%s" % spl_set_id)
Пример #7
0
def processing_user_score():
    """Records new rating or updates existing rating"""

    user_score = request.args.get("score")

    #for user_id and movie_id
    # if score is Null create new rating in db +flash "u ranked the movie!"
    # else: update score in db + flash
    # add to db
    # commit

    rating_in_db = db.session.query(
        Rating.score).filter((Rating.movie_id == movie_id)
                             & (Rating.user_id == user_id)).first()

    if not rating_in_db:
        flash("Yay you've rated this movie!")
        rating_in_db = Rating(user_id=user_id,
                              movie_id=movie_id,
                              user_score=score)
        db.session.add(rating_in_db)
    else:
        flash("We've updated your score for this movie!")
        rating_in_db.score = int(user_score)

    db.session.commit()

    return redirect("/movies" + str(movie_id))
Пример #8
0
def process_rating(movie_id):

    score = request.form.get('score')

    user_id = session.get('user_id')

    rating_object = Rating.query.filter_by(user_id=user_id).filter_by(
        movie_id=int(movie_id)).first()
    if rating_object is None:
        rating_object = Rating(movie_id=int(movie_id),
                               user_id=user_id,
                               score=score)
        db.session.add(rating_object)

    else:
        rating_object.score = score

    db.session.commit()
    return redirect("/movies/" + movie_id)
Пример #9
0
def add_rating(movie_id):
    """ Add new rating"""

    score = request.form.get('rating')
    user = User.query.filter_by(email=session['email']).one()
    rating = Rating.query.filter_by(user_id=user.user_id,
                                    movie_id=movie_id).first()

    if rating is None:
        rating = Rating(score=score, user_id=user.user_id, movie_id=movie_id)
        db.session.add(rating)
        flash('Rating Added')
    else:
        rating.score = score
        flash('Rating Updated')

    db.session.commit()

    return redirect('/movies/{}'.format(movie_id))
Пример #10
0
def rate_movie_page(movie_id):
    """Show individual movie's info"""

    new_score = request.form.get("movie-rating")
    movie = Movie.query.get(movie_id)
    user_id = session["user_id"]

    rating = Rating.query.filter((Rating.user_id == user_id)
                                 & (Rating.movie_id == movie_id)).first()

    if not rating:
        rating = Rating(score=new_score, user_id=user_id, movie_id=movie_id)

    else:
        rating.score = new_score

    db.session.add(rating)
    db.session.commit()

    return redirect("/movies/%s" % movie_id)
Пример #11
0
def update_rating():
    """Update a rating """

    movie_id = int(request.form.get("movie_id"))
    score = int(request.form.get('score'))
    user_id = session['user_id']

    rating = db.session.query(Rating).filter(
        Rating.user_id == user_id, Rating.movie_id == movie_id).first()

    if not rating:
        rating = Rating(movie_id=movie_id, user_id=user_id, score=score)
        db.session.add(rating)
        db.session.commit()
    else:
        rating.score = score
        db.session.commit()

    flash('You\'ve successfully rated for the movie!')

    return redirect("/movies/" + str(movie_id))
Пример #12
0
def add_score():
    """Add new score to database"""

    new_score = request.form.get('new_score')
    movie_id = request.form.get('movie_id')

    try:
        user = session["user"]
    except KeyError:
        return "Please log in or register to submit your ratings"

    try:
        rating = Rating.query.filter((Rating.user_id == user)
                                     & (Rating.movie_id == movie_id)).one()
    except NoResultFound:
        rating = Rating(movie_id=movie_id, user_id=user, score=new_score)
        db.session.add(rating)
        db.session.commit()
        return "Your rating has been added!"

    rating.score = new_score
    db.session.commit()
    return "Your rating has been updated!"
Пример #13
0
def rate_movie():
    """Add rating to ratings table."""

    user_id = session['user_id']
    user = User.query.get(user_id)
    score = request.form.get("movie_rating")
    movie_id = request.form.get("movie_id")
    movie = Movie.query.get(movie_id)

    # if user has not rated movie, create new rating
    if movie not in user.movies:
        rating = Rating(movie_id=movie_id, user_id=user_id, score=score)
    # if user has rated movie, update old rating
    else:
        rating = db.session.query(Rating) \
            .filter(Rating.movie_id==movie_id, Rating.user_id==user_id).one()
        rating.score = score

    db.session.add(rating)
    db.session.commit()

    flash('Rated successfully!')

    return redirect(f'/movies/{movie_id}')
Пример #14
0
def save_rating():
    """Rout to create retings for saved places"""

    yelp_id = request.form.get('yelp_id')
    name = request.form.get('name')
    score = request.form.get('rating')
    user = User.query.get(session['user_id'])
    print("###########lalalal")
    print(score)
    print("###########lalalla")

    #check if place is saved, if not create :
    restaurant = Restaurants.query.get(yelp_id)
    print("###########exists")
    print(restaurant)
    print("##########exists")
    if restaurant is None:
        restaurant = Restaurants(yelp_id=yelp_id, name=name)
        print("######## new")
        print(restaurant)
        print("########### new")
        db.session.add(restaurant)
        db.session.commit()
    print("#########")
    print(restaurant)
    print("#########s")
    saved_place = Saved_places.query.filter_by(yelp_id=yelp_id,
                                               user_id=user.user_id).first()
    print(saved_place)
    print("##########exists in saved table")
    if saved_place is None:
        d = datetime.now()
        save_date = (d.strftime("%A, %B, %d, %Y"))
        saved_place = Saved_places(user=user,
                                   place=restaurant,
                                   save_date=save_date)
        db.session.add(saved_place)
        db.session.commit()
        print("##########create a new saved place ")
        print(saved_place)
    print(saved_place)
    print("##########")

    # create score
    #1. Check if it is in DB already:
    rating = Rating.query.filter_by(yelp_id=yelp_id, user=user).first()
    print("############ score")
    print(rating)
    print("############# score")
    if rating is None:
        #db.session.add_all([restaurant, user, saved_place])

        rating = Rating(score=score,
                        place=restaurant,
                        user=user,
                        saved=saved_place)
        db.session.add(rating)
        db.session.commit()
        print("########## rating obj")
        print(rating)
    else:
        rating.score = score
        print("######### rating.score")
        print(rating.score)
        return "You have rated this place already"
    return "Rating is submited"

    db.session.commit()
    print(rating)

    return "Rating added"