def save_comment(id=None): user = auth.service.get_user() data = dict(request.form) data['upload'] = request.files.getlist('upload') v = Validator(data) v.fields('upload').image() v.fields('file.id').integer(nullable=True) if v.is_valid(): if not id: v.field('entity_name').required() v.field('entity_id').integer(nullable=True).required() if not v.valid_data.list('url') and not v.valid_data.list( 'upload'): v.field('comment').required( message="Напишите хоть что-нибудь...") if v.is_valid() and user.is_authorized(): data = v.valid_data if not id: comment = Comment() comment.author_id = user.id comment.entity = data.entity_name comment.entity_id = data.entity_id else: comment = Comment.get(id) if comment: comment.modify_datetime = datetime.datetime.now() comment.status = Comment.Status.MODIFIED if comment: return save(comment, data) v.add_error('comment', 'Что-то пошло не так... Попробуйте позже.') return jsonify({'status': 'fail', 'errors': v.errors})
def create_comments(meal_date_id, request_user_id=None): request_params = request.get_json() content = request_params.get('content') request_params['mealDateId'] = meal_date_id request_params['userId'] = request_user_id if content is None: return jsonify(userMessage="내용을 입력해주세요."), 400 if meal_date_id is None: return jsonify(userMessage="댓글을 작성할 식단날짜를 입력해주세요."), 400 try: meal_date = db.session.query(MealDate).filter( MealDate.id == meal_date_id).one() except: return jsonify(userMessage="댓글 작성할 식단날짜를 잘못 선택하셨습니다.") if request_user_id is None: return jsonify(userMessage="유저 정보가 없습니다."), 400 try: comment = Comment() comment = comment.update_data(**request_params) db.session.add(comment) db.session.commit() q = db.session.query(Comment, User) \ .outerjoin(User, User.id == Comment.user_id) \ .filter(Comment.id == comment.id) return jsonify(data=SerializableModelMixin.serialize_row(q.one())), 200 except: return jsonify( userMessage="server deny your request, check param value"), 403
def comments_create(): current_user = get_jwt_identity() data = json.loads(request.data) content = data['content']['content'] post_id = data['post_id'] user = User.find_user_by_email(current_user['email']) try: comment = Comment( content=content, post_id=post_id, user_id=user.id ) db.session.add(comment) db.session.commit() comment_schema = CommentSchema() comment_result = comment_schema.dump(comment) response_object = { 'status': 'success', 'message': 'Successfully created a Comment', 'comment': comment_result[0] } return make_response(jsonify(response_object)), 201 except Exception as e: response_object = { 'status': 'fail', 'message': 'Could not create a comment', 'error': ','.join(e.args) } return make_response(jsonify(response_object)), 500
def create_comment(): result = comment_schema.load(request.get_json()) if result.errors: return result.errors, 400 comment = Comment(**result.data) db.session.add(comment) db.session.commit() return comment.to_json().data, 200
def get_comments_by_username(username, index): cursor = DBHelper.mysql.get_db().cursor() sql = 'select * from comment where username=%s limit %s, %s' cursor.execute(sql, (username, index, 20)) commentTuples = cursor.fetchall() comments = [] for comment in commentTuples: comments.append(Comment(comment)) if len(comments) == 0: comments = None return comments
def get_comments(id): cursor = DBHelper.mysql.get_db().cursor() sql = 'select * from comment where ArticleId=%s' cursor.execute(sql, id) commentTuples = cursor.fetchall() comments = [] for comment in commentTuples: comments.append(Comment(comment)) if len(comments) == 0: comments = None return comments
def team_send_comment(teamid): count = Comment.count_comments_of_team(teamid) form = CreateCommentForm(request.form) if not form.validate(): return render_template("team/teampage.html", team=Team.query.get(teamid), form=form, users=User.list_by_score(team_id=teamid), user=User.query.get(current_user.get_id()), comments=Comment.list_team_comments(teamid, 1), count=count, page=1) text = form.text.data comment = Comment(teamid, current_user.get_id(), text) db.session().add(comment) db.session().commit() return redirect( url_for("team_page", teamid=User.query.get(current_user.get_id()).team_id))