def NewConversation(request, username): from_user = request.user body = 'A NEW CONVERSATION HAS STARTED' try: to_user = User.objects.get(username=username) except Exception as e: return redirect('usersearch') if from_user != to_user: Message.send_message(from_user, to_user, body) return redirect('inbox')
def NewConversation(request, username): from_user = request.user body = '' try: to_user = User.objects.get(username=username) except Exception as e: return redirect('usersearch') #prevent user from sending themselves a message if from_user != to_user: Message.send_message(from_user, to_user, body) return redirect('inbox')
def SendDirect(request): from_user = request.user to_user_username = request.POST.get('to_user') body = request.POST.get('body') if request.method == 'POST': to_user = User.objects.get(username=to_user_username) Message.send_message(from_user, to_user, body) return redirect('inbox') else: HttpResponseBadRequest()
def SendDirect(request): from_user = request.user to_user_username = request.POST.get('to_user') body = request.POST.get('body') if request.method == 'POST': to_user = get_object_or_404(User, username=to_user_username) Message.send_message(from_user, to_user, body) return HttpResponseRedirect(reverse('directs', args=[to_user_username])) else: HttpResponseBadRequest()
def NewConversation( request, username): # from search results of users send one user a message from_user = request.user body = '' try: to_user = User.objects.get(username=username) except Exception as e: return redirect('user_search') if from_user != to_user: Message.send_message(from_user, to_user, body) return redirect('inbox')
def SendDirect( request ): # brings messages from another user into the inbox and conversation sections from_user = request.user to_user_username = request.POST.get('to_user') body = request.POST.get('body') if request.method == 'POST': to_user = User.objects.get(username=to_user_username) Message.send_message(from_user, to_user, body) return redirect('inbox') else: HttpResponseBadRequest()
def directs(request, username): user = request.user # load all the conversation messages = Message.get_messages(user=request.user) active_direct = username # messages directs = Message.objects.filter( user=user, recipient__username=username).order_by('-date') for message in messages: if message['user'].username == username: # delete all unread messages message['unread'] = 0 #Pagination for directs paginator_directs = Paginator(directs, 5) page_number_directs = request.GET.get('directspage') directs_data = paginator_directs.get_page(page_number_directs) # stream_data = [1] # return True context = { 'directs': directs_data, 'messages': messages, 'active_direct': active_direct, } return render(request, 'direct/direct.html', context)
def Inbox(request): messages = Message.get_messages(user=request.user) active_direct = None directs = None if messages: message = messages[0] active_direct = message['user'].username directs = Message.objects.filter(user=request.user, recipient=message['user']) # update를 하면 한번에 모든 객체의 필드값이 바뀌나? directs.update(is_read=True) for message in messages: if message['user'].username == active_direct: message['unread'] = 0 context = { 'directs': directs, 'messages': messages, 'active_direct': active_direct, } template = loader.get_template('direct/direct.html') return HttpResponse(template.render(context, request))
def inbox(request): messages = Message.get_messages(user=request.user) #Pagination paginator_messages = Paginator(messages, 5) page_number_messages = request.GET.get('messagespage') messages_data = paginator_messages.get_page(page_number_messages) context = { 'messages': messages_data, } return render(request, 'direct/inbox.html', context)
def Directs(request, username): user = request.user messages = Message.get_messages(user=user) active_direct = username directs = Message.objects.filter(user=user, recipient__username=username) directs.update(is_read=True) for message in messages: if message['user'].username == username: message['unread'] = 0 context = { 'directs': directs, 'messages': messages, 'active_direct': active_direct, } return render(request, 'direct/direct.html', context)
def Directs(request, username): user = request.user messages = Message.get_messages(user=user) active_direct = username directs = Message.objects.filter(user=user, recipient__username=username).order_by('-date') directs.update(is_read=True) for message in messages: if message['user'].username == username: message['unread'] = 0 context = { 'directs': directs, 'messages': messages, 'active_direct': active_direct, } template = loader.get_template('direct/direct.html') return HttpResponse(template.render(context, request))
def Directs(request, username): # view to show the conversation section of direct.html user = request.user messages = Message.get_messages(user=user) active_direct = username directs = Message.objects.filter(user=user, recipient__username=username) directs.update(is_read=True) for message in messages: # counter for unread messages if message['user'].username == username: message['unread'] = 0 context = { 'directs': directs, 'messages': messages, 'active_direct': active_direct, } template = loader.get_template('direct.html') return HttpResponse(template.render(context, request))
def Inbox(request): messages = Message.get_messages(user=request.user) active_direct = None directs = None if messages: message = messages[0] active_direct = message['user'].username directs = Message.objects.filter(user=request.user, recipient=message['user']) directs.update(is_read=True) for message in messages: if message['user'].username == active_direct: message['unread'] = 0 context = { 'directs': directs, 'messages': messages, 'active_direct': active_direct, } return render(request, 'direct/direct.html', context)
def send_message(from_user, to_user, body): """ Function for sending messages :param from_user: from whom the user received the message :param to_user: who got the message :param body: message text :return: message to sender """ sender_message = Message(user=from_user, sender=from_user, recipient=to_user, body=body, is_read=True) sender_message.save() recipient_message = Message( user=to_user, sender=from_user, body=body, recipient=from_user, ) recipient_message.save() return sender_message
def Directs(request, username): user = request.user messages = Message.get_messages(user=request.user) active_direct = username directs = Message.objects.filter(user=user, recipient__username=username).order_by('-date') directs.update(is_read=True) for message in messages: if message['user'].username==username: message['unread'] = 0 #Pagination for directs paginator_directs = Paginator(directs, 5) page_number_directs = request.GET.get('directspage') directs_data = paginator_directs.get_page(page_number_directs) context = { 'directs': directs_data, 'messages': messages, 'active_direct': active_direct } return render(request, 'direct/direct.html', context)
def inbox(request, directs=None): user = request.user messages = Message.get_messages(user=user) active_direct = None direct = None if messages: message = messages[0] active_direct = message['user'].username direct = Message.objects.filter(user=user, recipient=message['user']) direct.update(is_read=True) for message in messages: if message['user'].usernamer == active_direct: message['unread'] = 0 context = { 'directs': directs, 'messages': messages, 'active_direct': active_direct, } template = loader.get_template('Main_Page/templates/inbox.html') return HttpResponse(template.render(context, request))
def Inbox(request): messages = Message.get_messages(user=request.user) active_direct = None directs = None # organizing how the messages show up in the inbox whihc is the menu section of the direct.html if messages: message = messages[0] active_direct = message['user'].username directs = Message.objects.filter(user=request.user, recipient=message['user']) directs.update(is_read=True) for message in messages: # shows how many unread messages there are from a user if message['user'].username == active_direct: message['unread'] = 0 context = { 'directs': directs, 'messages': messages, 'active_direct': active_direct, } template = loader.get_template('direct.html') return HttpResponse(template.render(context, request))
def reportIssue(request): from_user = request.user body = 'A NEW CONVERSATION HAS STARTED' if from_user != 'admin': Message.send_message(from_user, 'admin', body) return redirect('inbox')