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)
Dict = {
'tickets': tickets
'tickets': tickets,
}
tpl_name = 'blocks/profile/b_support_tickets.html'

View File

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

View File

@@ -1,5 +1,9 @@
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):
Dict = {
'tickets_wo_manager': get_tickets_wo_manager(),

View File

@@ -50,13 +50,14 @@ def send_msg_ajax(request):
kwargs = {
'sender': ticket.owner,
'receiver': ticket.manager,
'text': ticket.text
'text': ticket.text,
}
if ticket:
kwargs.update({'group': ticket})
msg = Message.objects.create(**kwargs)
Message.objects.filter(id=msg.id).update(modifiedDT=ticket.createDT, createDT=ticket.createDT)
# ------------
kwargs = {
@@ -72,8 +73,10 @@ def send_msg_ajax(request):
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'
@@ -97,10 +100,11 @@ def support_show_chat_by_ticket_ajax(request):
data = json.loads(request.body)
obj = MsgGroup.objects.get(id=data['ticket_id'])
ticket = MsgGroup.objects.get(id=data['ticket_id'])
Dict = {
'ticket': obj
'ticket': ticket,
'messages': get_messages_for_ticket(ticket)
}
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)
return JsonResponse({'html': html}, status=400)
obj = form.save(commit=False)
obj.owner = request.user
obj.enable = True
obj.save()
ticket = form.save(commit=False)
ticket.owner = request.user
ticket.enable = True
ticket.save()
Dict = {
'ticket': obj
'ticket': ticket,
'messages': get_messages_for_ticket(ticket)
}

View File

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