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.
 
 
 
 
 
 

30 lines
1.6 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 = ''
def get(self, request, *args, **kwargs):
if request.user.is_authenticated() and request.user.is_customer():
customer_contacts = Message.objects.values('sender_id','recipent_id').filter(Q(recipent_id=6)| Q(sender_id=6)).distinct()
chat_messages = Message.objects.filter(Q(sender=request.user.pk) | Q(recipent=request.user.pk))
orders = request.user.projects.select_related('order').all()
self.template_name = 'chat_customer.html'
return render(request, self.template_name, {'customer_contacts': customer_contacts,
'chat_messages': chat_messages,
'orders': orders})
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', 'recipent_id__id')
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})