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)
def rate_product(product_id): score = int(request.form["score"]) comment = request.form["comment"] user_id = session.get("user_id") if not user_id: raise Exception("You are not logged in.") rating = Rating.query.filter_by(user_id=user_id, product_id=product_id).first() # comment = Rating.query.filter_by(user_id=user_id, product_id=product_id).first() if rating: rating.score = score flash("Your rating has been updated!") else: rating = Rating(user_id=user_id, product_id=product_id, score=score) flash("Your rating has been added!") db.session.add(rating) if comment: rating.comment = comment flash("Your comment has been updated!") else: comment = Rating(user_id=user_id, product_id=product_id, comment=comment) flash("Your commment has been added!") db.session.add(comment) db.session.commit() return redirect("/product/%s" % product_id)