def get_create_comment_area_request(request): response = {} # 这里应该需要使用cookie判断权限 user_id = check_cookie(request) if user_id == -1: response['code'] = 300 response['data'] = {'msg': "cookie out of date"} return JsonResponse(response) # print(user_id) try: user = User.objects.get(id=user_id) except User.DoesNotExist: response['code'] = 300 response['data'] = {'msg': "user id does not exist"} return JsonResponse(response) # print(user.user_email, user.user_password, user.privilege) if user.privilege == False: response['code'] = 300 response['data'] = {'msg': "not administrator"} return JsonResponse(response) response['code'] = 200 serializer = CreateRequestSerializer(CreateRequest.objects.all(), many=True) response['data'] = {'msg': "success", "createRequestList": serializer.data} return JsonResponse(response)
def get_comment_area(request): response = {} if request.method == 'GET': user_id = check_cookie(request) if user_id == -1: response['code'] = 300 response['data'] = {'msg': "cookie out of date"} return JsonResponse(response) print(user_id) form = GetCommentAreaForm(request.GET) if form.is_valid(): id = form.cleaned_data['commentAreaId'] try: comment_area = CommentArea.objects.get(id=id) except CommentArea.DoesNotExist: response['code'] = 300 response['data'] = {'msg': "comment area id does not exist"} return JsonResponse(response) serializer = CommentAreaSerializer(comment_area) # print(serializer.data) # print(model_to_dict(comment_area)) star = comment_area.star_user_list.filter(id=user_id).exists() data = serializer.data data['path'] = comment_area.paper.path data['star'] = star response['code'] = 200 response['data'] = {'msg': "success", 'comment_area': data} return JsonResponse(response) else: response['code'] = 300 response['data'] = {'msg': form.errors} print(form.errors) return JsonResponse(response)
def getChatGroupName(request): response = {} if request.method == 'GET': debugflag = True if debugflag == False: # 根据 cookie 判断能否查看动态 if check_cookie(request) == -1: response['code'] = 300 response['data'] = {'msg': 'cookie out of date'} return JsonResponse(response) groupId = request.GET.get('chatGroupId') try: name = ChatGroup.objects.get(id=groupId).name print("hello") response['code'] = 200 response['data'] = {"msg": "success", "name": name} return JsonResponse(response) except: response["code"] = 300 response["data"] = {"msg": "database corrupted"} return JsonResponse(response) else: # 请用 GET response["code"] = 600 response["data"] = {"msg": "incorrect request method"} return JsonResponse(response)
def getChatGroupPapers(request): response = {} if request.method == 'GET': debugflag = True if debugflag == False: # 根据 cookie 判断能否查看动态 if check_cookie(request) == -1: response['code'] = 300 response['data'] = {'msg': 'cookie out of date'} return JsonResponse(response) groupId = request.GET.get('chatGroupId') try: paperlist = list( ChatGroup.objects.get(id=groupId).paper.values( "id", "title", "path")) response['code'] = 200 response['data'] = {"msg": "success", "paperList": paperlist} return JsonResponse(response) except: response["code"] = 300 response["data"] = {"msg": "database corrupted"} return JsonResponse(response) else: # 请用 GET response["code"] = 600 response["data"] = {"msg": "incorrect request method"} return JsonResponse(response)
def get_username(request): response = {} user_id = check_cookie(request) if user_id == -1: response['code'] = 300 response['data'] = {'msg': "cookie out of date"} return JsonResponse(response) if request.method == 'GET': form = UserIdForm(request.GET) if form.is_valid(): user_id = form.cleaned_data['userId'] try: user = User.objects.get(id=user_id) except User.DoesNotExist: response['code'] = 300 response['data'] = {'msg': "user id does not exist"} return JsonResponse(response) response['code'] = 200 response['data'] = {'msg': "success", 'username': user.user_name} return JsonResponse(response) else: response['code'] = 300 response['data'] = {'msg': form.errors} return JsonResponse(response)
def request_create_comment_area(request): response = {} user_id = check_cookie(request) if user_id == -1: response['code'] = 300 response['data'] = {'msg': "cookie out of date"} return JsonResponse(response) if request.method == 'POST': # 注意这里paperform不是paper对应的form一个是Path一个是File form = PaperForm(request.POST, request.FILES) if form.is_valid(): paper_file = PaperFile(title=form.cleaned_data["title"], paper=request.FILES['paper']) paper_file.save() paper = Paper(title=paper_file.title, path=paper_file.paper.name) paper.save() user = User.objects.get(id=user_id) create_request = CreateRequest(requestor=user, paper=paper, paper_title=paper.title) create_request.save() response['code'] = 200 response['data'] = {'msg': "success"} return JsonResponse(response) else: response['code'] = 300 response['data'] = {'msg': form.errors} return JsonResponse(response)
def add_annotation(request): response = {} debugflag = False if debugflag == False: user_id = check_cookie(request) #检查cookie if user_id == -1: response['code'] = 300 response['data'] = {'msg': "cookie out of date"} return JsonResponse(response) else: user_id = json.loads(request.body)['userId'] if request.method == 'POST': form = AddAnnotationForm(json.loads(request.body)) if form.is_valid(): #获取相对坐标 x = form.cleaned_data['x'] y = form.cleaned_data['y'] page_num = form.cleaned_data['pageNum'] paper_id = form.cleaned_data['paperId'] content = form.cleaned_data['content'] try: paper = Paper.objects.get(id=paper_id) except Paper.DoesNotExist: response['code'] = 300 response['data'] = {'msg': "paper id does not exist"} return JsonResponse(response) full_path = MEDIA_ROOT + '/' + paper.path print(MEDIA_ROOT + '/' + paper.path) #打开并获取对应的页 doc = fitz.open(full_path) page = doc.loadPage(page_num) rect = page.rect #这里乘上这一页的宽和高获取绝对坐标 top_left = (x * rect[2], y * rect[3]) #添加批注 annot = page.addTextAnnot(top_left, content) print(dir(annot)) #这里需要设置Popup的位置 annot.set_popup(annot.rect) annot.setInfo(title=User.objects.get(id=user_id).user_name) doc.save(full_path, incremental=True, encryption=False) response['code'] = 200 response['data'] = {'msg': "success"} return JsonResponse(response) else: response['code'] = 300 response['data'] = {'msg': form.errors} return JsonResponse(response) else: response['code'] = 300 response['data'] = { 'msg': 'wrong http method, you should use POST method' } return JsonResponse(response)
def approve_create_comment_area_request(request): response = {} user_id = check_cookie(request) if user_id == -1: response['code'] = 300 response['data'] = {'msg': "cookie out of date"} return JsonResponse(response) if request.method == 'GET': form = ApproveCreateCommentAreaRequestForm(request.GET) if form.is_valid(): request_id = form.cleaned_data['requestId'] try: user = User.objects.get(id=user_id) except User.DoesNotExist: response['code'] = 300 response['data'] = {'msg': "user id does not exist"} return JsonResponse(response) # 判断是否有管理员权限 if user.privilege == False: response['code'] = 300 response['data'] = {'msg': "not administrator"} return JsonResponse(response) try: create_request = CreateRequest.objects.get(id=request_id) except CreateRequest.DoesNotExist: response['code'] = 300 response['data'] = {'msg': "request id does not exist"} return JsonResponse(response) paper = create_request.paper requestor = create_request.requestor # 讨论区的名字就默认成论文的名字,版主默认为申请创建者 comment_area = CommentArea(name=paper.title, master=requestor, paper=paper) # 创建者默认收藏 comment_area.save() comment_area.star_user_list.add(requestor) comment_area.star_number = 1 comment_area.save() # 删除已经审批的请求 create_request.delete() response['code'] = 200 response['data'] = {'msg': "success"} return JsonResponse(response) else: response['code'] = 300 response['data'] = {'msg': form.errors} return JsonResponse(response)
def post_long_comment(request): response = {} user_id = check_cookie(request) if user_id == -1: response['code'] = 300 response['data'] = {'msg': "cookie out of date"} return JsonResponse(response) if request.method == 'POST': form = PostLongCommentForm(json.loads(request.body)) if form.is_valid(): comment_area_id = form.cleaned_data['commentAreaId'] content = form.cleaned_data['content'] title = form.cleaned_data['title'] # user_id = form.cleaned_data['userId'] try: comment_area = CommentArea.objects.get(id=comment_area_id) except CommentArea.DoesNotExist: response['code'] = 300 response['data'] = {'msg': "comment area id does not exist"} return JsonResponse(response) try: user = User.objects.get(id=user_id) except User.DoesNotExist: response['code'] = 300 response['data'] = {'msg': "user id does not exist"} return JsonResponse(response) long_comment = LongComment(poster=user, title=title, content=content) long_comment.save() long_comment.star_user_list.add(user) long_comment.star_number = 1 long_comment.save() # 建立长评短评之间的关联 comment_area.long_comment_list.add(long_comment) comment_area.save() response['code'] = 200 response['id'] = long_comment.id response['data'] = {'msg': "success"} return JsonResponse(response) else: response['code'] = 300 response['data'] = {'msg': form.errors} return JsonResponse(response)
def get_long_comment(request): response = {} user_id = check_cookie(request) if user_id == -1: response['code'] = 300 response['data'] = {'msg': "cookie out of date"} return JsonResponse(response) if request.method == 'GET': form = GetLongCommentForm(request.GET) if form.is_valid(): long_comment_id = form.cleaned_data['longCommentId'] in_comment_area = form.cleaned_data['inCommentArea'] # user_id = form.cleaned_data['userId'] try: long_comment = LongComment.objects.get(id=long_comment_id) except LongComment.DoesNotExist: response['code'] = 300 response['data'] = {'msg': "long comment id does not exist"} return JsonResponse(response) try: user = User.objects.get(id=user_id) except User.DoesNotExist: response['code'] = 300 response['data'] = {'msg': "user id does not exist"} return JsonResponse(response) if in_comment_area: serializer = LongCommentInCommentAreaSerializer(long_comment) else: serializer = LongCommentSerializer(long_comment) star = long_comment.star_user_list.filter(id=user_id).exists() data = serializer.data data['star'] = star #判断当前用户是否发布了该评论 data['create'] = (user_id == long_comment.poster.id) if in_comment_area: data['content'] = long_comment.content[:50] response['code'] = 200 response['data'] = {'msg': "success", 'comment': data} return JsonResponse(response) else: response['code'] = 300 response['data'] = {'msg': form.errors} return JsonResponse(response)
def createChatGroup(request): response = {} if request.method == 'POST': user_id = check_cookie(request) if user_id == -1: response['code'] = 300 response['data'] = {'msg': 'cookie out of date'} return JsonResponse(response) groupName = json.loads(request.body)['groupName'] if ChatGroup.objects.filter(name=groupName).exists(): response['code'] = 400 response['data'] = {"msg": "ChatGroup already exists"} return JsonResponse(response) memberList = json.loads(request.body)['userList'] memberList.append({'userId': user_id}) newChatGroup = ChatGroup() newChatGroup.save() newChatGroup.name = groupName try: for mb in memberList: mbId = mb['userId'] user = User.objects.get(id=mbId) newChatGroup.user_list.add(user) newChatGroup.save() response["code"] = 200 response["data"] = {"msg": "success", "groupId": newChatGroup.id} except: response["code"] = 300 response["data"] = {"msg": "database corrupted"} return JsonResponse(response) return JsonResponse(response) else: # 请用 GET response["code"] = 600 response["data"] = {"msg": "incorrect request method"} return JsonResponse(response)
def uploadChatGroupPaper(request): # 论文直接上传到公共论文的数据库中 # 然后再在ChatGroup的PaperList里面增加这篇论文的引用 response = {} if request.method == 'POST': debugflag = False if debugflag == False and check_cookie(request) == -1: response['code'] = 300 response['data'] = {'msg': "cookie out of date"} return JsonResponse(response) form = ChatGroupPaperForm(request.POST, request.FILES) if form.is_valid(): paper_file = PaperFile(title=form.cleaned_data["title"], paper=request.FILES['paper']) paper_file.save() paper = Paper(title=paper_file.title, path=paper_file.paper.name) paper.save() try: chatGroup = ChatGroup.objects.get( id=form.cleaned_data["chatGroupId"]) chatGroup.paper.add(paper) response["code"] = 200 response["data"] = {"msg": "success"} return JsonResponse(response) except: response["code"] = 300 response["data"] = {"msg": "database corrupted"} return JsonResponse(response) else: response["code"] = 300 response["data"] = {"msg": "wrong paremeter format"} else: # 请用 post response["code"] = 600 response["data"] = {"msg": "incorrect request method"} return JsonResponse(response)
def post_short_comment_for_long_comment(request): response = {} user_id = check_cookie(request) if user_id == -1: response['code'] = 300 response['data'] = {'msg': "cookie out of date"} return JsonResponse(response) if request.method == 'POST': form = PostShortCommentForLongCommentForm(json.loads(request.body)) if form.is_valid(): long_comment_id = form.cleaned_data['longCommentId'] short_comment_content = form.cleaned_data['shortComment'] # user_id = form.cleaned_data['userId'] try: long_comment = LongComment.objects.get(id=long_comment_id) except LongComment.DoesNotExist: response['code'] = 300 response['data'] = {'msg': "long comment id does not exist"} return JsonResponse(response) try: user = User.objects.get(id=user_id) except User.DoesNotExist: response['code'] = 300 response['data'] = {'msg': "user id does not exist"} return JsonResponse(response) short_comment = ShortComment(poster=user, content=short_comment_content) # 必须要先save才能建立关联 short_comment.save() # 建立长评短评之间的关联 long_comment.short_comment_list.add(short_comment) response['code'] = 200 response['id'] = short_comment.id response['data'] = {'msg': "success"} return JsonResponse(response) else: response['code'] = 300 response['data'] = {'msg': form.errors} return JsonResponse(response)
def get_paper(request): response = {} if request.method == 'GET': user_id = check_cookie(request) if user_id == -1: response['code'] = 300 response['data'] = {'msg': "cookie out of date"} return JsonResponse(response) print(user_id) form = PaperIdForm(request.GET) if form.is_valid(): id = form.cleaned_data['paperId'] try: paper = Paper.objects.get(id=id) except Paper.DoesNotExist: response['code'] = 300 response['data'] = {'msg': "paper id does not exist"} return JsonResponse(response) print(paper.path) #serializer = PaperSerializer(paper) #data = serializer.data print(MEDIA_ROOT + '/' + paper.path) try: response = FileResponse( open(MEDIA_ROOT + '/' + paper.path, 'rb')) response['content_type'] = "application/octet-stream" response[ 'Content-Disposition'] = 'inline; filename=' + os.path.basename( paper.path) return response except Exception as e: print(e) raise Http404 #response['code'] = 200 #response['data'] = {'msg': "success", 'paper': data} #return JsonResponse(response) else: response['code'] = 300 response['data'] = {'msg': form.errors} print(form.errors) return JsonResponse(response)
def star_comment_area(request): response = {} user_id = check_cookie(request) if user_id == -1: response['code'] = 300 response['data'] = {'msg': "cookie out of date"} return JsonResponse(response) if request.method == 'GET': form = OpCommentAreaForm(request.GET) if form.is_valid(): comment_area_id = form.cleaned_data['commentAreaId'] # user_id = form.cleaned_data['userId'] # 根据id获取讨论区 try: comment_area = CommentArea.objects.get(id=comment_area_id) except CommentArea.DoesNotExist: response['code'] = 300 response['data'] = {'msg': "comment area id does not exist"} return JsonResponse(response) # 根据id获取收藏的用户 try: user = User.objects.get(id=user_id) except User.DoesNotExist: response['code'] = 300 response['data'] = {'msg': "user id does not exist"} return JsonResponse(response) # 收藏用户列表加入收藏用户 comment_area.star_user_list.add(user) comment_area.star_number = comment_area.star_number + 1 # 更新数据库 comment_area.save() response['code'] = 200 response['data'] = {'msg': "success"} return JsonResponse(response) else: response['code'] = 300 response['data'] = {'msg': form.errors} return JsonResponse(response)
def star_comment(request): response = {} user_id = check_cookie(request) if user_id == -1: response['code'] = 300 response['data'] = {'msg': "cookie out of date"} return JsonResponse(response) if request.method == 'GET': form = OpLongCommentForm(request.GET) if form.is_valid(): long_comment_id = form.cleaned_data['longCommentId'] # user_id = form.cleaned_data['userId'] # 根据id获取长评 try: long_comment = LongComment.objects.get(id=long_comment_id) except LongComment.DoesNotExist: response['code'] = 300 response['data'] = {'msg': "long comment id does not exist"} return JsonResponse(response) # 根据id获取收藏用户 try: user = User.objects.get(id=user_id) except User.DoesNotExist: response['code'] = 300 response['data'] = {'msg': "user id does not exist"} return JsonResponse(response) # 评论点赞数++,点赞用户列表填入点赞用户 long_comment.star_number = long_comment.star_number + 1 long_comment.star_user_list.add(user) # 更新数据库 long_comment.save() response['code'] = 200 response['data'] = {'msg': "success"} return JsonResponse(response) else: response['code'] = 300 response['data'] = {'msg': form.errors} return JsonResponse(response)
def GetSelfMomments(request): response = {} if request.method == 'POST': # 不使用 cookie 测试的话,就将 debugflag = TRUE debugflag = True if debugflag == False: # 根据 cookie 判断能否查看动态 userid = check_cookie(request) if userid == -1: response['code'] = 300 response['data'] = {'msg': 'cookie out of date'} return JsonResponse(response) else: userid = json.loads(request.body)['userid'] try: user = User.objects.get(id=userid) long_comment_list = list( user.post_long_comment.values("id", "title", "content", "post_time")) long_comment_list.sort(key=lambda x: x["post_time"]) response['code'] = 200 response['data'] = { 'msg': "success", 'LongComments': long_comment_list } return JsonResponse(response) except: # 多半是数据库挂了 response["code"] = 300 response["data"] = {"msg": "database corrupted"} return JsonResponse(response) else: # 请用 POST response["code"] = 600 response["data"] = {"msg": "incorrect request method"} return JsonResponse(response)
def rose_comment(request): response = {} user_id = check_cookie(request) if user_id == -1: response['code'] = 300 response['data'] = {'msg': "cookie out of date"} return JsonResponse(response) if request.method == 'GET': form = OpShortCommentForm(request.GET) if form.is_valid(): short_comment_id = form.cleaned_data['shortCommentId'] # user_id = form.cleaned_data['userId'] 现在使用cookie了 # 根据id获取短评 try: short_comment = ShortComment.objects.get(id=short_comment_id) except ShortComment.DoesNotExist: response['code'] = 300 response['data'] = {'msg': "short comment id does not exist"} return JsonResponse(response) # 根据id获取点赞用户 try: user = User.objects.get(id=user_id) except User.DoesNotExist: response['code'] = 300 response['data'] = {'msg': "user id does not exist"} return JsonResponse(response) # 评论点赞数++,点赞用户列表填入点赞用户 short_comment.rose_number = short_comment.rose_number + 1 short_comment.rose_user_list.add(user) # 更新数据库 short_comment.save() response['code'] = 200 response['data'] = {'msg': "success"} return JsonResponse(response) else: response['code'] = 300 response['data'] = {'msg': form.errors} return JsonResponse(response)
def get_star_long_comment_list(request): response = {} user_id = check_cookie(request) if user_id == -1: response['code'] = 300 response['data'] = {'msg': "cookie out of date"} return JsonResponse(response) if request.method == 'GET': try: user = User.objects.get(id=user_id) except User.DoesNotExist: response['code'] = 300 response['data'] = {'msg': "user id does not exist"} return JsonResponse(response) response['code'] = 200 serializer = LongCommentInListSerializer(user.star_long_comment.all(), many=True) response['data'] = { 'msg': "success", "longCommentList": serializer.data } return JsonResponse(response)
def cancel_star_comment_area(request): response = {} user_id = check_cookie(request) if user_id == -1: response['code'] = 300 response['data'] = {'msg': "cookie out of date"} return JsonResponse(response) if request.method == 'GET': form = OpCommentAreaForm(request.GET) if form.is_valid(): comment_area_id = form.cleaned_data['commentAreaId'] # user_id = form.cleaned_data['userId'] # 根据id获取讨论区 try: comment_area = CommentArea.objects.get(id=comment_area_id) except CommentArea.DoesNotExist: response['code'] = 300 response['data'] = {'msg': "comment area id does not exist"} return JsonResponse(response) star = comment_area.star_user_list.filter(id=user_id).exists() if not star: response['code'] = 300 response['data'] = { 'msg': "you have not starred this comment area" } return JsonResponse(response) comment_area.star_user_list.remove(user_id) comment_area.star_number = comment_area.star_number - 1 # 更新数据库 comment_area.save() response['code'] = 200 response['data'] = {'msg': "success"} return JsonResponse(response) else: response['code'] = 300 response['data'] = {'msg': form.errors} return JsonResponse(response)
def getBothStarList(request): response = {} if request.method == 'POST': debugflag = True if debugflag == False and check_cookie(request) == -1: response['code'] = 300 response['data'] = {'msg': "cookie out of date"} return JsonResponse(response) else: userId = json.loads(request.body)['userId'] try: user = User.objects.get(id=userId) userStarList = list(user.star_user_list.values("id")) retList = [] for fd in userStarList: friend = User.objects.get(id=fd["id"]) if user in friend.star_user_list.all(): tmp = {} tmp["userId"] = friend.id tmp["userName"] = friend.user_name tmp["userAvatar"] = friend.user_photo.url retList.append(tmp) response["code"] = 200 response["data"] = {"msg": "success", "userList": retList} return JsonResponse(response) except: response["code"] = 300 response["data"] = {"msg": "database corrupted"} return JsonResponse(response) else: # 请用 POST response["code"] = 600 response["data"] = {"msg": "incorrect request method"} return JsonResponse(response)
def cancel_rose_comment(request): response = {} user_id = check_cookie(request) if user_id == -1: response['code'] = 300 response['data'] = {'msg': "cookie out of date"} return JsonResponse(response) if request.method == 'GET': form = OpShortCommentForm(request.GET) if form.is_valid(): short_comment_id = form.cleaned_data['shortCommentId'] # user_id = form.cleaned_data['userId'] # 根据id获取短评 try: short_comment = ShortComment.objects.get(id=short_comment_id) except ShortComment.DoesNotExist: response['code'] = 300 response['data'] = {'msg': "short comment id does not exist"} return JsonResponse(response) # 查询是否已经点赞 rose = short_comment.rose_user_list.filter(id=user_id).exists() if not rose: response['code'] = 300 response['data'] = {'msg': "you have not rosed this comment"} return JsonResponse(response) short_comment.rose_number = short_comment.rose_number - 1 short_comment.rose_user_list.remove(user_id) # 更新数据库 short_comment.save() response['code'] = 200 response['data'] = {'msg': "success"} return JsonResponse(response) else: response['code'] = 300 response['data'] = {'msg': form.errors} return JsonResponse(response)
def cancel_star_comment(request): response = {} user_id = check_cookie(request) if user_id == -1: response['code'] = 300 response['data'] = {'msg': "cookie out of date"} return JsonResponse(response) if request.method == 'GET': form = OpLongCommentForm(request.GET) if form.is_valid(): long_comment_id = form.cleaned_data['longCommentId'] # user_id = form.cleaned_data['userId'] # 根据id获取长评 try: long_comment = LongComment.objects.get(id=long_comment_id) except LongComment.DoesNotExist: response['code'] = 300 response['data'] = {'msg': "long comment id does not exist"} return JsonResponse(response) # 查询是否已经收藏 star = long_comment.star_user_list.filter(id=user_id).exists() if not star: response['code'] = 300 response['data'] = {'msg': "you have not starred this comment"} return JsonResponse(response) long_comment.star_number = long_comment.star_number - 1 long_comment.star_user_list.remove(user_id) # 更新数据库 long_comment.save() response['code'] = 200 response['data'] = {'msg': "success"} return JsonResponse(response) else: response['code'] = 300 response['data'] = {'msg': form.errors} return JsonResponse(response)
def get_short_comment(request): response = {} user_id = check_cookie(request) if user_id == -1: response['code'] = 300 response['data'] = {'msg': "cookie out of date"} return JsonResponse(response) if request.method == 'GET': form = OpShortCommentForm(request.GET) if form.is_valid(): short_comment_id = form.cleaned_data['shortCommentId'] # user_id = form.cleaned_data['userId'] try: short_comment = ShortComment.objects.get(id=short_comment_id) except ShortComment.DoesNotExist: response['code'] = 300 response['data'] = {'msg': "short comment id does not exist"} return JsonResponse(response) try: user = User.objects.get(id=user_id) except User.DoesNotExist: response['code'] = 300 response['data'] = {'msg': "user id does not exist"} return JsonResponse(response) serializer = ShortCommentSerializer(short_comment) # 查询是否赞过或者踩过 rose = short_comment.rose_user_list.filter(id=user.id).exists() egg = short_comment.egg_user_list.filter(id=user.id).exists() data = serializer.data data['egg'] = egg data['rose'] = rose response['code'] = 200 response['data'] = {'msg': "success", 'comment': data} return JsonResponse(response) else: response['code'] = 300 response['data'] = {'msg': form.errors} return JsonResponse(response)
def reject_create_comment_area_request(request): response = {} user_id = check_cookie(request) if user_id == -1: response['code'] = 300 response['data'] = {'msg': "cookie out of date"} return JsonResponse(response) if request.method == 'GET': form = ApproveCreateCommentAreaRequestForm(request.GET) if form.is_valid(): request_id = form.cleaned_data['requestId'] try: user = User.objects.get(id=user_id) except User.DoesNotExist: response['code'] = 300 response['data'] = {'msg': "user id does not exist"} return JsonResponse(response) # 判断是否有管理员权限 if user.privilege == False: response['code'] = 300 response['data'] = {'msg': "not administrator"} return JsonResponse(response) try: create_request = CreateRequest.objects.get(id=request_id) except CreateRequest.DoesNotExist: response['code'] = 300 response['data'] = {'msg': "request id does not exist"} return JsonResponse(response) create_request.delete() response['code'] = 200 response['data'] = {'msg': "success"} return JsonResponse(response) else: response['code'] = 300 response['data'] = {'msg': form.errors} return JsonResponse(response)
def getMyChatGroupList(request): response = {} if request.method == 'POST': userid = check_cookie(request) if userid == -1: response['code'] = 300 response['data'] = {'msg': "cookie out of date"} return JsonResponse(response) else: try: response['code'] = 200 grouplist = list( User.objects.get(id=userid).my_chat_group.values( "id", "name")) response['data'] = { 'msg': "success", 'MyChatGroupList': grouplist } return JsonResponse(response) except: response['code'] = 300 response['data'] = {'msg': "User does not exist"} return JsonResponse(response)
def delete_long_comment(request): response = {} user_id = check_cookie(request) if user_id == -1: response['code'] = 300 response['data'] = {'msg': "cookie out of date"} return JsonResponse(response) if request.method == 'GET': form = OpLongCommentForm(request.GET) if form.is_valid(): long_comment_id = form.cleaned_data['longCommentId'] # user_id = form.cleaned_data['userId'] try: long_comment = LongComment.objects.get(id=long_comment_id) except LongComment.DoesNotExist: response['code'] = 300 response['data'] = {'msg': "long comment id does not exist"} return JsonResponse(response) try: user = User.objects.get(id=user_id) except User.DoesNotExist: response['code'] = 300 response['data'] = {'msg': "user id does not exist"} return JsonResponse(response) if long_comment.poster.id == user_id: long_comment.delete() response['code'] = 200 response['data'] = {'msg': "success"} return JsonResponse(response) else: response['code'] = 300 response['data'] = {'msg': "you can't delete others' comment"} return JsonResponse(response) else: response['code'] = 300 response['data'] = {'msg': form.errors} return JsonResponse(response)
def get_star_comment_area_list(request): response = {} user_id = check_cookie(request) if user_id == -1: response['code'] = 300 response['data'] = {'msg': "cookie out of date"} return JsonResponse(response) if request.method == 'GET': # id = form.cleaned_data['userId'] try: user = User.objects.get(id=user_id) except User.DoesNotExist: response['code'] = 300 response['data'] = {'msg': "user id does not exist"} return JsonResponse(response) response['code'] = 200 #这里用的serializer和之前的不一样,只会发送id and name serializer = CommentAreaInListSerializer(user.star_comment_area.all(), many=True) response['data'] = { 'msg': "success", "commentAreaList": serializer.data } return JsonResponse(response)
def GetMomments(request): response = {} if request.method == 'POST': # print(request.body) # 不使用 cookie 测试的话,就将 debugflag = TRUE debugflag = True if debugflag == False: # 根据 cookie 判断能否查看动态 userid = check_cookie(request) if userid == -1: response['code'] = 300 response['data'] = {'msg': 'cookie out of date'} return JsonResponse(response) else: userid = json.loads(request.body)['userid'] # 请传送时间戳 start_time = datetime.fromtimestamp( int(json.loads(request.body)['time'])) user = User.objects.get(id=userid) try: # 获取关注了的人的id # userlist = [{"id" : ...}, ....] userlist = list(user.star_user_list.values('id')) # 包括他自己 userlist.append({'id': user.id}) # 根据关注了的人的 id 进行检索,找到 start_time 之后提交的长评 friends_long_comment_list = [] for friends in userlist: friends_id = friends['id'] friends_recent_long_comment = list( User.objects.get(id=friends_id).post_long_comment.filter( post_time__gte=start_time).values( "id", "title", "content", "post_time", "poster")) friend_name = User.objects.get(id=friends_id).user_name for i in friends_recent_long_comment: i['poster_name'] = friend_name friends_long_comment_list.extend(friends_recent_long_comment) friends_long_comment_list.sort(key=lambda x: x["post_time"]) response['code'] = 200 response['data'] = { 'msg': "success", 'LongComments': friends_long_comment_list } return JsonResponse(response) except: # 多半是数据库挂了 response["code"] = 300 response["data"] = {"msg": "database corrupted"} return JsonResponse(response) else: # 请用 POST response["code"] = 600 response["data"] = {"msg": "incorrect request method"} return JsonResponse(response)