Exemple #1
0
def do_comment(request):
    goods_id_list = request.POST.getlist('goods_id', '0')
    order_id = request.POST.get('order_id', 0)
    user_id = request.session.get('u_id', 0)
    if user_id == 0:
        return HttpResponse('请登录')

    for goods_id in goods_id_list:
        comment = Comment()
        comment.goods_id = goods_id
        good_info_obj = GoodsInfo.objects.filter(id=goods_id).first()
        print(good_info_obj.manager_id)
        comment.manager_id = good_info_obj.manager_id
        comment.user_id = user_id
        comment.score = request.POST.get('score' + goods_id)
        comment.content = request.POST.get('comment_content' + goods_id)
        comment.add_time = datetime.datetime.now()
        comment.save()

    result = OrderInfo.objects.filter(id=order_id).update(
        comment_status=1, comment_time=datetime.datetime.now())
    if result:
        return HttpResponseRedirect(reverse('user:user_order_manage'))
    else:
        return HttpResponse('评论失败')
Exemple #2
0
def comment_write(request):
    if request.method == 'POST':
        name1 = request.POST.get('name')
        content1 = request.POST.get('comment')
        title_num1 = request.POST.get('con_num')
        try:
            num = Board.objects.get(id=title_num1)
            comment = Comment(title_num=num, content=content1, name=name1)
            comment.save()
            return render(request, 'comment_success.html')
        except:
            return render(request, 'comment_fail.html')

    return HttpResponseRedirect('/commu/detail/' + title_num)
Exemple #3
0
def show(pk):
    if request.method == "GET":
        # 获取所有的文章
        article = Article.query.get(pk)
        article_dict = article.to_dict()
        for comment in article_dict["comments"]:
            # 获得评论对象
            comment_obj = Comment.query.get(comment.get("id"))
            comment["username"] = comment_obj.user.username
        return render_template('article/show_article.html',
                               article=article_dict)

    elif request.method == "POST":
        data = request.data.decode()
        # 转为字典数据
        data_dict = json.loads(data)
        if data_dict.get("user_id") == "":
            return jsonify("您还没有登录,请先登录后再评论")
        content = data_dict.get("data")
        user_id = data_dict.get("user_id")
        article_id = data_dict.get("article_id")
        # 判断是否为空
        if content == "":
            warn = "请输入文字再提交!"
            return jsonify(warn)
        else:
            comment = Comment(content=content,
                              user_id=user_id,
                              article_id=article_id)
            db.session.add(comment)
            db.session.commit()
            return jsonify("发表成功")
Exemple #4
0
def comment_handle(request, article_id):
    article_obj = Articles.objects.get(id=article_id)
    user_id = request.session.get('user_id')
    user_obj = UserInfo.objects.get(id=user_id)
    comment = request.POST.get('comment')
    if comment:
        comment_obj = Comment(contain=comment,
                              article=article_obj,
                              user=user_obj)
        comment_obj.save()
        number = article_obj.comment_set.count()
        user_name = request.session.get('user_name')
        return JsonResponse({
            "result": True,
            "date": comment_obj.date,
            "number": number,
            "user_name": user_name
        })
    else:
        return JsonResponse({"result": False})
def edit_comment(request, restaurant_id, review_id):
    review = Review.objects.get(pk=review_id)
    comment = Comment(user=request.user, review=review)
    comment.text = request.GET.get("text")
    comment.time = datetime.now()
    comment.save()
    return HttpResponseRedirect(reverse("restaurant:profile", args=[restaurant_id]))
Exemple #6
0
def add_comment(request):
    """添加评论"""
    if request.method == 'POST':
        tweet_id = request.POST.get('tweet_id')
        be_from_id = request.POST.get('be_from_id')
        content = request.POST.get('content')
        c = Comment()
        c.tweet_id = tweet_id
        c.be_from_id = be_from_id
        c.content = content
        c.save()
        return JsonResponse({'code': 200, 'msg': 'success'})
Exemple #7
0
def add_comment(request):
    data = json.loads(request.body)
    if not data:
        return JsonResponse({'status': False, 'error': '数据错误'})
    else:
        user_id = data.get('user')
        user = User.objects.filter(openid=user_id)
        if not user:
            return JsonResponse({'status': False, 'error': '找不到该用户'})
        else:
            user = user[0]
        dynamic_id = data.get('id')
        dynamic = Dynamics.objects.filter(id=dynamic_id)
        if not dynamic:
            return JsonResponse({'status': False, 'error': '找不到该动态'})
        else:
            dynamic = dynamic[0]
        new_comment = Comment(user=user,
                              dynamics=dynamic,
                              reply=data.get('reply'),
                              text=data.get('text'))
        new_comment.save()
        return JsonResponse({'status': True})
Exemple #8
0
 def create(self, request, *args, **kwargs):
     data = request.data
     user = request.user
     scene_id = data['scene_id']
     content = data['content']
     scene_type = data['scene_type']
     if not content:
         return JsonResponse({"status": 201, "message": "评论内容不能为空"})
     if not scene_id:
         return JsonResponse({"status": 201, "message": "错误的场景"})
     if not scene_type:
         return JsonResponse({"status": 201, "message": "场景类型是必须的"})
     comment_info = Comment(comment_id=str(uuid.uuid4()))
     comment_info.scene_id = scene_id
     comment_info.user = user
     comment_info.content = content
     comment_info.scene_type = scene_type
     comment_info.create_time = timezone.now()
     comment_info.save()
     return JsonResponse({"status": 200, "message": '评论成功'})
Exemple #9
0
def edit_comment(request, restaurant_id, review_id):
    if request.user.is_authenticated:
        review = Review.objects.get(pk=review_id)
        comment = Comment(user=request.user, review=review)
        comment.text = request.GET.get("text")
        comment.time = datetime.now()
        comment.save()
        messages.success(request, "Your comment is saved!")
    else:
        messages.error(request,
                       "Please first login before replying any review")
        return HttpResponseForbidden()
    return HttpResponseRedirect(
        reverse("restaurant:profile", args=[restaurant_id]))
Exemple #10
0
def add_comment(request):
    data = request.data
    parent_id = data.get('parent_id', 0)
    content = data.get("content")
    article_id = data.get("article_id")
    if not (content and article_id):
        return Response({"status": 400, "msg": "参数错误"})

    kwargs = {"id": article_id}
    article = articleRepository.load(**kwargs)
    if not article:
        return Response({"status": 400, "msg": "文章不存在"})

    utc_time = TimeUtil.get_utc_time()
    catalog_type = data.get("catalog_type")
    workspace = WorkspaceUtil.get_workspace(request)
    passport_id = workspace.passport_id

    message = Message()
    message.reply_id = passport_id
    message.reply_name = workspace.name
    message.passport_id = article.passport_id
    message.article_id = article.id
    message.article_title = article.title
    message.created = utc_time
    message.status = 0
    message.reply_type = Message.Type.reply.value
    flag = True

    if parent_id == 0:
        message.reply_type = Message.Type.answer.value
        if article.passport_id == passport_id:
            flag = False
        # 判断是否有根节点存在
        kwargs = {}
        kwargs["layer"] = 0
        kwargs["article_id"] = article_id
        catalog_res = commentRepository.load(**kwargs)
        # 根节点不存在 先创建一个根节点
        if not catalog_res:
            catalog = Comment()
            catalog.passport_id = passport_id
            catalog.parent_id = 0
            catalog.layer = 0
            catalog.left_id = 1
            catalog.right_id = 4
            catalog.content = ""
            catalog.catalog_type = catalog_type
            catalog.version = 1
            catalog.created = utc_time
            catalog.article_id = article_id
            catalog.save()
            catalog_id = catalog.id

            catalog = Comment()
            catalog.parent_id = catalog_id
            catalog.layer = 1
            catalog.left_id = 2
            catalog.right_id = 3
            catalog.content = data["content"]
            catalog.passport_id = passport_id
            catalog.catalog_type = catalog_type
            catalog.article_id = article_id
            catalog.version = 1
            catalog.created = utc_time
            catalog.save()

        else:
            # 更新需要更新的左节点
            kwargs = {}
            kwargs["catalog_type"] = catalog_type
            kwargs["right_id"] = catalog_res.right_id
            commentRepository.update_left_id(**kwargs)

            # 更新需要更新的右节点
            commentRepository.update_right_id(**kwargs)

            parent_id = catalog_res.id
            catalog = Comment()
            catalog.parent_id = parent_id
            catalog.layer = catalog_res.layer + 1
            catalog.left_id = catalog_res.right_id
            catalog.right_id = catalog_res.right_id + 1
            catalog.catalog_type = catalog_type
            catalog.passport_id = passport_id
            catalog.article_id = article_id
            catalog.content = data["content"]
            catalog.version = 1
            catalog.created = utc_time
            catalog.save()

    else:
        # 新增节点
        kwargs = {}
        kwargs["id"] = parent_id
        catalog_res = commentRepository.load(**kwargs)
        message.passport_id = catalog_res.passport_id
        if catalog_res.passport_id == passport_id:
            flag = False

        # 更新需要更新的左节点
        kwargs = {}
        kwargs["catalog_type"] = catalog_res.catalog_type
        kwargs["right_id"] = catalog_res.right_id
        commentRepository.update_left_id(**kwargs)

        # 更新需要更新的右节点
        commentRepository.update_right_id(**kwargs)

        catalog = Comment()
        catalog.parent_id = parent_id
        catalog.layer = catalog_res.layer + 1
        catalog.left_id = catalog_res.right_id
        catalog.right_id = catalog_res.right_id + 1
        catalog.passport_id = passport_id
        catalog.article_id = article_id
        catalog.catalog_type = catalog_res.catalog_type
        catalog.content = data["content"]
        catalog.version = 1
        catalog.created = utc_time
        catalog.save()

    catalog = CommentSerializers(catalog).data

    if flag:
        message.save()

    return Response({"status": 200, "msg": "新增评论成功", "data": catalog})