def msg_reply(request, msg_id): """Show group message replies, and process message reply in ajax""" if not request.is_ajax(): raise Http404 content_type = "application/json; charset=utf-8" ctx = {} try: group_msg = GroupMessage.objects.get(id=msg_id) except GroupMessage.DoesNotExist: return HttpResponseBadRequest(content_type=content_type) if request.method == "POST": if not request.user.is_authenticated(): return HttpResponseBadRequest(json.dumps({"error": "login required"}), content_type=content_type) form = MessageReplyForm(request.POST) r_status = request.GET.get("r_status") # TODO: invalid form if form.is_valid(): msg = form.cleaned_data["message"] msg_reply = MessageReply() msg_reply.reply_to = group_msg msg_reply.from_email = request.user.username msg_reply.message = msg msg_reply.save() grpmsg_reply_added.send( sender=MessageReply, msg_id=msg_id, from_email=request.user.username, grpmsg_topic=group_msg.message, reply_msg=msg, ) replies = MessageReply.objects.filter(reply_to=group_msg) r_num = len(replies) if r_num < 4 or r_status == "show": ctx["replies"] = replies else: ctx["replies"] = replies[r_num - 3 :] html = render_to_string("group/group_reply_list.html", ctx) serialized_data = json.dumps({"r_num": r_num, "html": html}) return HttpResponse(serialized_data, content_type=content_type) else: replies = MessageReply.objects.filter(reply_to=group_msg) r_num = len(replies) ctx["replies"] = replies html = render_to_string("group/group_reply_list.html", ctx) serialized_data = json.dumps({"r_num": r_num, "html": html}) return HttpResponse(serialized_data, content_type=content_type)
def msg_reply(request, msg_id): """Show group message replies, and process message reply in ajax""" if not request.is_ajax(): raise Http404 content_type = 'application/json; charset=utf-8' ctx = {} try: group_msg = GroupMessage.objects.get(id=msg_id) except GroupMessage.DoesNotExist: return HttpResponseBadRequest(content_type=content_type) if request.method == 'POST': if not request.user.is_authenticated(): return HttpResponseBadRequest(json.dumps({ "error": "login required"}), content_type=content_type) form = MessageReplyForm(request.POST) r_status = request.GET.get('r_status') # TODO: invalid form if form.is_valid(): msg = form.cleaned_data['message'] msg_reply = MessageReply() msg_reply.reply_to = group_msg msg_reply.from_email = request.user.username msg_reply.message = msg msg_reply.save() grpmsg_reply_added.send(sender=MessageReply, msg_id=msg_id, from_email=request.user.username, grpmsg_topic=group_msg.message, reply_msg=msg) replies = MessageReply.objects.filter(reply_to=group_msg) r_num = len(replies) if r_num < 4 or r_status == 'show': ctx['replies'] = replies else: ctx['replies'] = replies[r_num - 3:] html = render_to_string("group/group_reply_list.html", ctx) serialized_data = json.dumps({"r_num": r_num, "html": html}) return HttpResponse(serialized_data, content_type=content_type) else: replies = MessageReply.objects.filter(reply_to=group_msg) r_num = len(replies) ctx['replies'] = replies html = render_to_string("group/group_reply_list.html", ctx) serialized_data = json.dumps({"r_num": r_num, "html": html}) return HttpResponse(serialized_data, content_type=content_type)
def msg_reply(request, msg_id): """Show group message replies, and process message reply in ajax""" content_type = 'application/json; charset=utf-8' if request.is_ajax(): ctx = {} try: group_msg = GroupMessage.objects.get(id=msg_id) except GroupMessage.DoesNotExist: return HttpResponseBadRequest(content_type=content_type) if request.method == 'POST': form = MessageReplyForm(request.POST) # TODO: invalid form if form.is_valid(): msg = form.cleaned_data['message'] msg_reply = MessageReply() msg_reply.reply_to = group_msg msg_reply.from_email = request.user.username msg_reply.message = msg msg_reply.save() # send signal if reply other's message if group_msg.from_email != request.user.username: grpmsg_reply_added.send(sender=MessageReply, msg_id=msg_id, from_email=request.user.username) replies = MessageReply.objects.filter(reply_to=group_msg) r_num = len(replies) if r_num < 4: ctx['replies'] = replies else: ctx['replies'] = replies[r_num - 3:] html = render_to_string("group/group_reply_list.html", ctx) serialized_data = json.dumps({"r_num": r_num, "html": html}) return HttpResponse(serialized_data, content_type=content_type) else: replies = MessageReply.objects.filter(reply_to=group_msg) r_num = len(replies) ctx['replies'] = replies html = render_to_string("group/group_reply_list.html", ctx) serialized_data = json.dumps({"r_num": r_num, "html": html}) return HttpResponse(serialized_data, content_type=content_type) else: return HttpResponseBadRequest(content_type=content_type)
def msg_reply(request, msg_id): """Show group message replies, and process message reply in ajax""" content_type = "application/json; charset=utf-8" if request.is_ajax(): ctx = {} if request.method == "POST": form = MessageReplyForm(request.POST) # TODO: invalid form if form.is_valid(): msg = form.cleaned_data["message"] try: group_msg = GroupMessage.objects.get(id=msg_id) except GroupMessage.DoesNotExist: return HttpResponseBadRequest(content_type=content_type) msg_reply = MessageReply() msg_reply.reply_to = group_msg msg_reply.from_email = request.user.username msg_reply.message = msg msg_reply.save() # send signal if reply other's message if group_msg.from_email != request.user.username: grpmsg_reply_added.send(sender=MessageReply, msg_id=msg_id, from_email=request.user.username) ctx["reply"] = msg_reply html = render_to_string("group/group_reply_new.html", ctx) else: try: msg = GroupMessage.objects.get(id=msg_id) except GroupMessage.DoesNotExist: raise HttpResponse(status=400) replies = MessageReply.objects.filter(reply_to=msg) ctx["replies"] = replies html = render_to_string("group/group_reply_list.html", ctx) serialized_data = json.dumps({"html": html}) return HttpResponse(serialized_data, content_type=content_type) else: return HttpResponseBadRequest(content_type=content_type)