0.1.48
chat routines
This commit is contained in:
@@ -71,7 +71,9 @@ def update_chat_ajax(request):
|
|||||||
last_message_modifiedDT = datetime.strptime(data['last_message_modifiedDT'], '%d.%m.%Y %H:%M:%S:%f')
|
last_message_modifiedDT = datetime.strptime(data['last_message_modifiedDT'], '%d.%m.%Y %H:%M:%S:%f')
|
||||||
|
|
||||||
sender = User.objects.get(id=data['sender'])
|
sender = User.objects.get(id=data['sender'])
|
||||||
receiver = User.objects.get(id=data['receiver'])
|
receiver = None
|
||||||
|
if 'receiver' in data and data['receiver']:
|
||||||
|
receiver = User.objects.get(id=data['receiver'])
|
||||||
|
|
||||||
if ticket:
|
if ticket:
|
||||||
|
|
||||||
@@ -83,12 +85,11 @@ def update_chat_ajax(request):
|
|||||||
else:
|
else:
|
||||||
msgs = get_msgs_for_chat_w_users(sender, receiver)
|
msgs = get_msgs_for_chat_w_users(sender, receiver)
|
||||||
|
|
||||||
if last_message_modifiedDT:
|
if (not msgs and not last_message_modifiedDT) or (msgs and last_message_modifiedDT and msgs[0].modifiedDT <= last_message_modifiedDT):
|
||||||
if not msgs or msgs[0].modifiedDT <= last_message_modifiedDT:
|
Dict.update({
|
||||||
Dict.update({
|
'msgs_count': len(msgs)
|
||||||
'msgs_count': len(msgs)
|
})
|
||||||
})
|
return JsonResponse(Dict, status=200)
|
||||||
return JsonResponse(Dict, status=200)
|
|
||||||
|
|
||||||
|
|
||||||
res_Dict.update({
|
res_Dict.update({
|
||||||
@@ -222,9 +223,24 @@ def support_show_chat_by_ticket_ajax(request):
|
|||||||
|
|
||||||
ticket = MsgGroup.objects.get(id=data['ticket_id'])
|
ticket = MsgGroup.objects.get(id=data['ticket_id'])
|
||||||
|
|
||||||
|
msgs = get_messages_for_ticket(ticket)
|
||||||
|
|
||||||
|
new_msg_allow = False
|
||||||
|
cur_receiver = None
|
||||||
|
if request.user.is_staff:
|
||||||
|
cur_receiver = ticket.owner
|
||||||
|
new_msg_allow = True
|
||||||
|
else:
|
||||||
|
if ticket.manager:
|
||||||
|
cur_receiver = ticket.manager
|
||||||
|
# if len(msgs) > 1:
|
||||||
|
new_msg_allow = True
|
||||||
|
|
||||||
Dict = {
|
Dict = {
|
||||||
'ticket': ticket,
|
'ticket': ticket,
|
||||||
'messages': get_messages_for_ticket(ticket),
|
'messages': msgs,
|
||||||
|
'cur_receiver': cur_receiver,
|
||||||
|
'new_msg_allow': new_msg_allow
|
||||||
}
|
}
|
||||||
Dict.update(get_ticketsDict_for_staff(request.user))
|
Dict.update(get_ticketsDict_for_staff(request.user))
|
||||||
|
|
||||||
|
|||||||
@@ -46,7 +46,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div class="footer-chat{% if user.is_staff or ticket.manager %} hide{% endif %}">
|
<div class="footer-chat{% if not new_msg_allow %} hide{% endif %}">
|
||||||
<div class="left-part-block-enter-message">
|
<div class="left-part-block-enter-message">
|
||||||
<input class="enter-message-inp" onkeypress="sendMessageEnter(event,{{ ticket.id }},{{ user.id }},{{ ticket.owner.id }})" placeholder="Отправить сообщение">
|
<input class="enter-message-inp" onkeypress="sendMessageEnter(event,{{ ticket.id }},{{ user.id }},{{ ticket.owner.id }})" placeholder="Отправить сообщение">
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user