You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
26 lines
1.1 KiB
26 lines
1.1 KiB
from django.shortcuts import render
|
|
from django.views.generic import View
|
|
from django.db.models import Q
|
|
|
|
from .models import Message
|
|
|
|
|
|
class ChatUserView(View):
|
|
template_name = 'chat_user.html'
|
|
|
|
def get(self, request, *args, **kwargs):
|
|
if request.user.is_authenticated() and request.user.is_customer():
|
|
# orders
|
|
self.template_name = 'chat_customer.html'
|
|
else:
|
|
orders = request.user.orders.all()
|
|
contractor_contacts = request.user.sender_messages.values('recipent_id').distinct('recipent_id').\
|
|
values('recipent_id__email', 'recipent_id__first_name', 'recipent_id__last_name')
|
|
chat_messages = Message.objects.filter(Q(sender=request.user.pk) | Q(recipent=request.user.pk)).order_by('created')
|
|
self.template_name = 'chat_contractor.html'
|
|
|
|
return render(request, self.template_name, {'orders': orders,
|
|
'contractor_contacts': contractor_contacts,
|
|
'chat_messages': chat_messages})
|
|
|
|
|
|
|