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()
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"])