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'):
                if connections:
                    connections += [
                        self.user.pk,
                    ]
                    _message = Message.create_chat_append_members_and_send_message(
                        creator=request.user,
                        users_ids=connections,
                        text=message.text,
                        voice=request.POST.get('voice'),
                        attach=request.POST.getlist('attach_items'),
                        sticker=request.POST.get('sticker'))
                else:
                    _message = Message.get_or_create_chat_and_send_message(
                        creator=request.user,
                        repost=None,
                        user=self.user,
                        text=message.text,
                        voice=request.POST.get('voice'),
                        attach=request.POST.getlist('attach_items'),
                        sticker=request.POST.get('sticker'))
                return HttpResponse()

            from django.http import HttpResponseBadRequest
            return HttpResponseBadRequest()