Esempio n. 1
0
    def post(self, request, *args, **kwargs):
        from users.models import User
        from chat.models import Message
        from common.check.user import check_user_can_get_list
        from chat.forms import MessageForm
        from django.http import HttpResponse

        self.form, self.user, connections = MessageForm(
            request.POST), User.objects.get(
                pk=self.kwargs["pk"]), request.POST.getlist("chat_items")
        check_user_can_get_list(request.user, self.user)

        if request.is_ajax() and self.form.is_valid():
            message = self.form.save(commit=False)
            if request.POST.get('text') or request.POST.get(
                    'attach_items') or request.POST.get('sticker'):
                _message = Message.get_or_create_chat_and_send_message(
                    creator=request.user,
                    user=self.user,
                    text=message.text,
                    voice=request.POST.get('voice'),
                    attach=request.POST.getlist('attach_items'),
                    sticker=request.POST.get('sticker'))
                return HttpResponse()
            else:
                from django.http import HttpResponseBadRequest
                return HttpResponseBadRequest()
Esempio n. 2
0
def repost_message_send(obj, type, attach, request):
    from chat.models import Message, Chat
    from users.models import User
    from posts.forms import PostForm
    from posts.models import Post
    from django.http import HttpResponse

    connections = request.POST.getlist("chat_items")

    form_post = PostForm(request.POST)
    count = 0
    if request.is_ajax() and form_post.is_valid():
        post = form_post.save(commit=False)

        if type[:3] == "pos":
            repost = obj
        else:
            repost = Post.create_parent_post(creator=obj.creator,
                                             community=obj.community,
                                             attach=type)
        for object_id in connections:
            if object_id[0] == "c":
                chat = Chat.objects.get(pk=object_id[1:])
                message = Message.send_message(chat=chat,
                                               repost=repost,
                                               creator=request.user,
                                               parent=None,
                                               text=post.text,
                                               attach=attach,
                                               sticker=None,
                                               transfer=None)
            elif object_id[0] == "u":
                user = User.objects.get(pk=object_id[1:])
                message = Message.get_or_create_chat_and_send_message(
                    creator=request.user,
                    repost=repost,
                    user=user,
                    text=post.text,
                    attach=attach,
                    sticker=None,
                    transfer=None)

            count += 1
            obj.repost += count
            obj.save(update_fields=["repost"])