import datetime

from django.http import JsonResponse, HttpResponseRedirect

from blog import models
from system.error.ServerException import ServerException




def add_comment(request):
    if request.method == 'POST':
        nick_name = request.POST.get("nick_name")
        avatar = request.POST.get("avatar")
        website = request.POST.get("website")
        article_id = request.POST.get("article_id")
        comment = request.POST.get('comment')
        email = request.POST.get('email')
        article = models.Article.objects.get(id=int(article_id))
        if article is None:
            return JsonResponse({"success": False, "message": "没有找到对应文章"}, safe=False)

        def is_empty(val):
            return val is None or val == ''

        if is_empty(nick_name):
            request.session['msg'] = "请填写昵称"
            return HttpResponseRedirect('/article/' + article_id + '.html')  # 跳转到主界面

        if is_empty(comment):
            request.session['msg'] = "请填写评论内容"
            return HttpResponseRedirect('/article/' + article_id + '.html')  # 跳转到主界面

        if is_empty(email):
            request.session['msg'] = "请填写Email"
            return HttpResponseRedirect('/article/' + article_id + '.html')  # 跳转到主界面

        request.session['msg'] = ""
        models.Comment.objects.create(nick_name=nick_name, avatar=avatar, article=article,
                                                    website=website,
                                                    comment=comment,
                                                    created_time=datetime.datetime.now(), email=email)
        return HttpResponseRedirect('/article/' + article_id + '.html')  # 跳转到主界面

    else:
        raise ServerException("错误的请求")