Exemple #1
0
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')
Exemple #2
0
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')
Exemple #3
0
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()
Exemple #4
0
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()
Exemple #5
0
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')
Exemple #6
0
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)
Exemple #8
0
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))
Exemple #9
0
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)
Exemple #10
0
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)
Exemple #11
0
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))
Exemple #12
0
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))
Exemple #13
0
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)
Exemple #14
0
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
Exemple #15
0
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))
Exemple #17
0
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))
Exemple #18
0
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')