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})