chat routines
This commit is contained in:
SDE
2023-08-02 17:44:11 +03:00
parent 76112fab8e
commit e34a841264
5 changed files with 24 additions and 14 deletions

View File

@@ -49,7 +49,7 @@ def support_tickets_ajax(request):
tickets = MsgGroup.objects.filter(enable=True, owner=request.user) tickets = MsgGroup.objects.filter(enable=True, owner=request.user)
Dict = { Dict = {
'tickets': tickets 'tickets': tickets,
} }
tpl_name = 'blocks/profile/b_support_tickets.html' tpl_name = 'blocks/profile/b_support_tickets.html'

View File

@@ -53,8 +53,9 @@ class BaseModel(models.Model):
return self.json_data return self.json_data
def save(self, *args, **kwargs): def save(self, not_change_modifiedDT=False, *args, **kwargs):
self.modifiedDT = datetime.now() if not not_change_modifiedDT:
self.modifiedDT = datetime.now()
super().save(*args, **kwargs) super().save(*args, **kwargs)
class Meta: class Meta:

View File

@@ -1,5 +1,9 @@
from .models import * from .models import *
def get_messages_for_ticket(ticket):
return ticket.rel_messages_for_group.filter(enable=True).order_by('-modifiedDT')
def get_ticketsDict_for_staff(user): def get_ticketsDict_for_staff(user):
Dict = { Dict = {
'tickets_wo_manager': get_tickets_wo_manager(), 'tickets_wo_manager': get_tickets_wo_manager(),

View File

@@ -50,13 +50,14 @@ def send_msg_ajax(request):
kwargs = { kwargs = {
'sender': ticket.owner, 'sender': ticket.owner,
'receiver': ticket.manager, 'receiver': ticket.manager,
'text': ticket.text 'text': ticket.text,
} }
if ticket: if ticket:
kwargs.update({'group': ticket}) kwargs.update({'group': ticket})
msg = Message.objects.create(**kwargs) msg = Message.objects.create(**kwargs)
Message.objects.filter(id=msg.id).update(modifiedDT=ticket.createDT, createDT=ticket.createDT)
# ------------ # ------------
kwargs = { kwargs = {
@@ -72,8 +73,10 @@ def send_msg_ajax(request):
res_Dict.update({ res_Dict.update({
'ticket': ticket 'ticket': ticket,
'messages': get_messages_for_ticket(ticket)
}) })
res_Dict.update(get_ticketsDict_for_staff(request.user))
tpl_name = 'blocks/profile/b_support_chat.html' tpl_name = 'blocks/profile/b_support_chat.html'
@@ -97,10 +100,11 @@ def support_show_chat_by_ticket_ajax(request):
data = json.loads(request.body) data = json.loads(request.body)
obj = MsgGroup.objects.get(id=data['ticket_id']) ticket = MsgGroup.objects.get(id=data['ticket_id'])
Dict = { Dict = {
'ticket': obj 'ticket': ticket,
'messages': get_messages_for_ticket(ticket)
} }
Dict.update(get_ticketsDict_for_staff(request.user)) Dict.update(get_ticketsDict_for_staff(request.user))
@@ -149,13 +153,14 @@ def create_ticket_ajax(request):
html = render_to_string('blocks/profile/b_create_ticket.html', Dict, request=request) html = render_to_string('blocks/profile/b_create_ticket.html', Dict, request=request)
return JsonResponse({'html': html}, status=400) return JsonResponse({'html': html}, status=400)
obj = form.save(commit=False) ticket = form.save(commit=False)
obj.owner = request.user ticket.owner = request.user
obj.enable = True ticket.enable = True
obj.save() ticket.save()
Dict = { Dict = {
'ticket': obj 'ticket': ticket,
'messages': get_messages_for_ticket(ticket)
} }

View File

@@ -29,12 +29,12 @@
{% endif %} {% endif %}
<div class="container-messages"> <div class="container-messages">
{% if not ticket.rel_messages_for_group.all %} {% if not messages %}
{% with text=ticket.text modifiedDT=ticket.modifiedDT %} {% with text=ticket.text modifiedDT=ticket.modifiedDT %}
{% include "widgets/w_message.html" %} {% include "widgets/w_message.html" %}
{% endwith %} {% endwith %}
{% else %} {% else %}
{% for msg in ticket.rel_messages_for_group.all %} {% for msg in messages %}
{% with text=msg.text modifiedDT=msg.modifiedDT %} {% with text=msg.text modifiedDT=msg.modifiedDT %}
{% include "widgets/w_message.html" %} {% include "widgets/w_message.html" %}
{% endwith %} {% endwith %}