Пример #1
0
def user(username):
    if 'username' in session:
        form = ReviewForm(request.form)
        userFire = firebase.FirebaseApplication('https://oopproject-f5214.firebaseio.com')
        allUser = userFire.get('userInfo', None)

        bioList = []
        titleList = []
        timeList = []
        reviewList = []
        posterList = []
        allList = []

        bio = root.child('userInfo').get()
        for key in bio:
            if username == bio[key]['username']:
                bioList.append(bio[key]['about_me'])

                print(bioList)
        review = root.child('review').get()
        if review != None:
            for reviews in review:
                if username == review[reviews]['username']:
                    titleList.append(review[reviews]['title'])
                    timeList.append(review[reviews]['time'])
                    reviewList.append(review[reviews]['review'])
                    posterList.append(review[reviews]['poster'])
        allList.append(titleList)
        allList.append(reviewList)
        allList.append(posterList)
        allList.append(timeList)
        if request.method == 'POST' and form.validate():
            title = form.title.data
            review = form.review.data

            review = Review(title, review)
            review_db = root.child('review')
            review_db.push({
                'username' : username,
                'title' : review.get_title(),
                'review' : review.get_review(),
                'time' : review.get_date(),
                'poster' : session['username']

                    })
            return redirect(url_for('user',username=username))
        '''
            titleList = []
            reviewList = []

            bio = root.child('userInfo').get()
                for key in bio:
                    print(allUser[key]['about_me'])
                    if username == bio[key]['username']:
                        bioList.append(bio[key]['review'])
                        usernameList.append((bio[key])[''])
            return redirect(url_for('user'))
        '''
        return render_template('userProfile.html', form=form, username=username, bioList=bioList,allList=allList)
Пример #2
0
def review(filename):
    if 'logged_in' and 'reviewer' not in session:
        flash("You Are Not Authorized To Access This Page..!!")
        return redirect(url_for('login'))
    form = ReviewForm(request.form)
    if form.validate():
        review_result = reviewArticle(form, filename)
        flash(review_result)
    return redirect(request.referrer)
Пример #3
0
def outcomes():
    form = ReviewForm()
    if request.method == 'POST' and form.validate():
        review = form.review.data
        y, proba = classify(review)
        return render_template('outcomes.html',
                               content=review,
                               prediction=y,
                               probability=round(proba * 100, 2),
                               form=form)
    return render_template('outcomes.html', form=form)
Пример #4
0
def review(id_val):
    form = ReviewForm(request.form)
    if request.method == 'POST' and form.validate():
        movieId = id_val
        reviewerId = current_user.get_id()
        reviewTime = datetime.datetime.now()
        review = form.review.data
        rating = form.rating.data
        add_review(db, movieId, reviewerId, reviewTime, review, rating)
        flash('Review successfully entered.')
        return redirect(url_for('show_movie_info',id_val= id_val))
    return render_template('Review_page.html', form=form)
Пример #5
0
def create_review(film_id):
    review_form = ReviewForm()
    if review_form.validate():
        rating = review_form.rating.data
        body = review_form.body.data
        user_id = current_user.id
        review = Review(rating=rating,
                        body=body,
                        film_id=film_id,
                        user_id=user_id)
        db.session.add(review)
        db.session.commit()
        return redirect(url_for('get_film', film_id=film_id))
    return redirect(url_for('get_film', film_id=film_id))
Пример #6
0
def add_review():
    global user_id
    print("Add review, user id: ", user_id)
    form = ReviewForm(request.form)

    if request.method == 'POST' and form.validate():

        fmt = BlankFormatter()
        sql = """INSERT INTO reviews (username, wine_name, winery,
        year, designation, variety, description, points, user_id)
        VALUES('{username}',REPLACE(CONCAT_WS(' ', '{winery}', {year},
        '{designation}', '{variety}'), '  ', ' '),
        '{winery}',
        {year},
        '{designation}',
        '{variety}',
        '{description}',
        {points},
        {user_id}
        )
        ON DUPLICATE KEY UPDATE
        description=VALUES(description), points=VALUES(points)"""

        fixdes = form.description.data
        fixdes = fixdes.replace("'", "''")

        args = {
            'username': username,
            'winery': form.winery.data,
            'year': form.year.data,
            'designation': form.designation.data,
            'variety': form.variety.data,
            'description': fixdes,
            'points': form.points.data,
            'user_id': user_id
        }
        query = fmt.format(sql, **args)

        connection = mysqlConnection()
        cur = connection.cursor()
        cur.execute(query)
        connection.commit()
        #Close connection
        cur.close()
        flash('Review Created', 'success')

        return redirect(url_for('add_review'))

    return render_template('add_review.html', form=form)
Пример #7
0
def editReview():
    form = ReviewForm(request.form)

    if request.method == 'POST' and form.validate():
        rating = form.rating.data
        review = form.review.data

        query_update = db.execute("UPDATE reviews SET rating = :rating, review = :review WHERE bookid = :bookid AND userid = :userid", {'rating': rating, 'review': review, 'bookid': session['bookid'], 'userid': session['userid']})
        db.commit()

        flash('Review successfully updated.', 'success')

        return redirect(url_for('book', id=session['bookid']))

    return render_template('editReview.html', form=form)
Пример #8
0
def addReview():
    form = ReviewForm(request.form)

    if request.method == 'POST' and form.validate():
        rating = form.rating.data
        review = form.review.data

        query_insert = db.execute("INSERT INTO reviews(rating, review, userid, bookid) VALUES(:rating, :review, :userid, :bookid)", {'rating': rating, 'review': review, 'userid': session['userid'], 'bookid': session['bookid']})
        db.commit()

        flash('Review successfully added.', 'success')

        return redirect(url_for('book', id=session['bookid']))

    return render_template('addReview.html', form=form)
Пример #9
0
def create_review(game_id):
    review_form = ReviewForm()
    print(type(review_form.rating.data))
    print(review_form.body.data)
    if review_form.validate():
        rating = review_form.rating.data
        body = review_form.body.data
        user_id = current_user.id
        review = Review(rating=rating,
                        body=body,
                        game_id=game_id,
                        user_id=user_id)
        db.session.add(review)
        db.session.commit()
        return redirect(url_for('get_game', game_id=game_id))
    return redirect(url_for('get_game', game_id=game_id))
Пример #10
0
def reviewDetails():
    reviews = Reviews.query.all()
    form = ReviewForm(request.form)
    if request.method == 'POST':
        if form.validate():
           if form.id.data == '':
               r = Reviews(form.doctorID.data, form.description.data, form.username.data)
               db_session.add(r)
               db_session.commit()
           else:
               r = Reviews.query.get(int(form.id.data))
               r.doctorID = form.doctorID.data
               r.description = form.description.data
               r.username = form.username.data
               db_session.commit()
           reviews = Reviews.query.all()
    return render_template('review.html', reviews=reviews)
Пример #11
0
def create_comment():
    from models import Review
    from forms import ReviewForm

    form = ReviewForm(request.form)

    if form.validate():
        review = Review(**form.data)
        db.session.add(review)
        db.session.commit()

        reviews = Review.query.order_by(Review.time).all()
        result = reviews_schema.dump(reviews)
        return jsonify(result.data)
    else:
        result = jsonify({'status': 'error'})
        result.status_code = 500
        print(form.data)
        return result
Пример #12
0
def make_review():
    form = ReviewForm()
    form.name.choices = []
    for row in fetch_available_items('beer_choices', 'products'):
        stock = str(row[0])
        form.name.choices += [(stock, stock)]
    if request.method == "POST" and form.validate():
        username = form.username.data
        name = form.name.data
        score = form.score.data
        post = form.post.data

        c, conn = connection()
        c.execute("SELECT id FROM users where username LIKE %s",
                  [thwart(username)])
        current_id = c.fetchone()
        c.execute("SELECT id FROM beer where name LIKE %s", [thwart(name)])
        current_beer = c.fetchone()
        c.execute("SELECT CURDATE()")
        current_date = c.fetchone()
        # print current_id
        # print current_beer
        c.execute(
            """INSERT INTO Review (user_id, beer_id, userName, score, body, date) VALUES (%s, %s, %s, %s, %s, %s)""",
            (current_id, current_beer, thwart(username), thwart(
                str(score)), thwart(post), current_date))

        conn.commit()
        flash("Thanks for submitting your review!")
        c.close()
        conn.close()
        gc.collect()

        return redirect(url_for("homepage"))

    return render_template("make_review.html", form=form)
Пример #13
0
def user(username):
    if 'username' in session:
        form = ReviewForm(request.form)

        bioList = []
        titleList = []
        timeList = []
        reviewList = []
        posterList = []
        allList = []

        bio = root.child('userInfo').get()
        for key in bio:
            if username == bio[key]['username']:
                bioList.append(bio[key]['about_me'])

        forumList = []
        forum = root.child('Forum').get()
        for key in forum:
            if username == forum[key]['username']:
                forumList.append(forum[key]['username'])

        review = root.child('review').get()
        if review != None:
            for reviews in review:
                if username == review[reviews]['username']:
                    titleList.append(review[reviews]['title'])
                    timeList.append(review[reviews]['time'])
                    reviewList.append(review[reviews]['review'])
                    posterList.append(review[reviews]['poster'])
        titleList.reverse()
        timeList.reverse()
        reviewList.reverse()
        posterList.reverse()
        allList.append(titleList)
        allList.append(reviewList)
        allList.append(posterList)
        allList.append(timeList)

        fire = firebase.FirebaseApplication(
            'https://oopproject-f5214.firebaseio.com/')
        ref = fire.get('/profilePic', None)
        pictureList = []
        if ref != None:
            for key in ref:
                if username == ref[key]['username']:
                    pictureList.append(ref[key]['photo'])

        if request.method == 'POST' and form.validate():
            title = form.title.data
            review = form.review.data

            review = Review(title, review)
            review_db = root.child('review')
            review_db.push({
                'username': username,
                'title': review.get_title(),
                'review': review.get_review(),
                'time': review.get_date(),
                'poster': session['username']
            })
            return redirect(url_for('user', username=username))

        return render_template('userProfile.html',
                               form=form,
                               username=username,
                               bioList=bioList,
                               allList=allList,
                               reviewList=len(reviewList),
                               forumList=len(forumList),
                               pictureList=pictureList)
Пример #14
0
def edit_review(id):
    connection = mysqlConnection()
    # Create cursor
    cur = connection.cursor()

    # Get review by id
    result = cur.execute("SELECT * FROM reviews WHERE id = %s", [id])
    review = cur.fetchone()
    cur.close()
    # Get form
    form = ReviewForm(request.form)

    # Populate review form fields
    form.winery.data = review['winery']
    form.year.data = review['year']
    form.designation.data = review['designation']
    form.variety.data = review['variety']
    form.description.data = review['description']
    form.points.data = review['points']

    if request.method == 'POST' and form.validate():
        print('THIS IS WORKS')

        fixdes = request.form['description']
        fixdes = fixdes.replace("'", "''")

        args = {
            'winery': request.form['winery'],
            'year': request.form['year'],
            'designation': request.form['designation'],
            'variety': request.form['variety'],
            'description': fixdes,
            'points': request.form['points'],
            'id': id
        }

        # Create Cursor
        cur = connection.cursor()
        # Execute
        sql = """UPDATE reviews
        SET wine_name = REPLACE(CONCAT_WS(' ', '{winery}', {year},
        '{designation}', '{variety}'), '  ', ' '),
        winery = '{winery}',
        year = {year},
        designation = '{designation}',
        variety = '{variety}',
        description = '{description}',
        points = {points}
        WHERE id = {id}
        """
        fmt = BlankFormatter()
        query = fmt.format(sql, **args)
        cur = connection.cursor()
        cur.execute(query)
        connection.commit()

        # Close connection
        cur.close()

        flash('Review Updated', 'success')

        return redirect(url_for('reviews'))

    return render_template('edit_review.html', form=form)
Пример #15
0
def review():
    review_form = ReviewForm(request.form)
    profile_form = ProfileForm()
    if request.method == 'POST' and review_form.validate():
        reviewerid = review_form['reviewerid']
        partnerid = review_form['partnerid']
        reviewerid = int(reviewerid.raw_data[0])
        partnerid = int(partnerid.raw_data[0])
        classID = review_form['classID']
        classID = int(classID.raw_data[0])
        percentage = review_form['percentage']
        percentage = int(percentage.raw_data[0])
        repartner = review_form['repartner']
        repartner = int(repartner.raw_data[0])
        prof = review_form['professorid']
        prof = str(prof.raw_data[0])
        grade = review_form['grade']
        grade = int(grade.raw_data[0]) / 25

        #make sure that the reviewer has a profile - if they don't make them make one
        if len(student_exists(reviewerid)) == 0:
            return render_template(
                'create_profile.html',
                form=profile_form,
                error=
                'No fair reviewing a friend if you don\'t have your own profile! Make one before you proceed.'
            )
        if len(student_exists(partnerid)) == 0:
            return render_template(
                'create_profile.html',
                form=profile_form,
                error=
                'That person\'s not registered yet. Make a profile for them before you review!'
            )

        #make sure that both are listed as having taken the class
        if taken_class(reviewerid, classID) == 0:
            session.execute(
                "insert into taken(classID, studentID) values (:classID, :reviewerid)",
                {
                    'reviewerid': reviewerid,
                    'classID': classID
                })
        if taken_class(partnerid, classID) == 0:
            session.execute(
                "insert into taken(classID, studentID) values (:classID, :partnerid)",
                {
                    'partnerid': partnerid,
                    'classID': classID
                })
        try:
            session.execute(
                "insert into reviews (classID, reviewerid, partnerid, grade, percentage, repartner, prof) values (:classID, :reviewerid, :partnerid, :grade, :percentage, :repartner, :prof)",
                {
                    'classID': classID,
                    'reviewerid': reviewerid,
                    'partnerid': partnerid,
                    'grade': grade,
                    'percentage': percentage,
                    'repartner': repartner,
                    'prof': prof
                })
            session.commit()
            return redirect(url_for('get_student_profile', id=partnerid))
        except exc.SQLAlchemyError:
            return render_template(
                'error.html',
                error=
                'Hey now - you can\'t take a class more than once. You or your partner is already registered.',
                link="/review",
                destination='back')
    return render_template('create_review.html', form=review_form)