|
|
|
@ -1,11 +1,12 @@ |
|
|
|
{% extends 'partials/base.html' %} |
|
|
|
{% extends 'partials/base.html' %} |
|
|
|
{% load staticfiles %} |
|
|
|
{% load staticfiles %} |
|
|
|
|
|
|
|
{% load thumbnail %} |
|
|
|
{% block content %} |
|
|
|
{% block content %} |
|
|
|
{% include 'partials/header.html' %} |
|
|
|
{% include 'partials/header.html' %} |
|
|
|
<div class="container mainScore"> |
|
|
|
<div class="container mainScore"> |
|
|
|
<div class="row"> |
|
|
|
<div class="row"> |
|
|
|
<div class="col-lg-12 allProjects"> |
|
|
|
<div class="col-lg-12 allProjects"> |
|
|
|
<h1>Чат {{ request.user }}</h1> |
|
|
|
<h1>Чат {{ request.user }} {{ request.user.pk }}</h1> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="btnReadyBlock disTab"> |
|
|
|
<div class="btnReadyBlock disTab"> |
|
|
|
<div class="triangle1"></div> |
|
|
|
<div class="triangle1"></div> |
|
|
|
@ -33,20 +34,19 @@ |
|
|
|
<div class="col-lg-3 wrMessages"> |
|
|
|
<div class="col-lg-3 wrMessages"> |
|
|
|
<div class="messageBlock box-sizing disTab"> |
|
|
|
<div class="messageBlock box-sizing disTab"> |
|
|
|
<p>Контакты</p> |
|
|
|
<p>Контакты</p> |
|
|
|
{% for contact in contractor_contacts %} |
|
|
|
{% for contact in contacts_users %} |
|
|
|
<div class="message messd user-block" data-id="{% if request.user.pk == contact.recipent_id %}{{ contact.sender_id }} {% else %}{{ contact.recipent_id}}{% endif %}"> |
|
|
|
<div class="message messd user-block" data-id="{{ contact.pk }}"> |
|
|
|
<div class="imgMess"> |
|
|
|
<div class="imgMess"> |
|
|
|
<img src="{% static 'img/mess.png' %}" alt="mess-image"> |
|
|
|
{% thumbnail contact.avatar "60x60" crop="center" as im %} |
|
|
|
|
|
|
|
<img src="{{ im.url }}" alt="mess-image"> |
|
|
|
|
|
|
|
{% endthumbnail %} |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<p class="nameMess"> |
|
|
|
<p class="nameMess"> |
|
|
|
<a href="#">{{ contact.recipent_id__first_name }} {{ contact.recipent_id__last_name }}</a> |
|
|
|
<a href="#">{{ contact.username }}{{ contact.username }}{{ contact.first_name }} {{ contact.last_name }}</a> |
|
|
|
</p> |
|
|
|
</p> |
|
|
|
<a href="javascript:void(0)" class="conMess">Контакты</a> |
|
|
|
<a href="javascript:void(0)" class="conMess">Контакты</a> |
|
|
|
|
|
|
|
|
|
|
|
<span>0</span> |
|
|
|
<span>0</span> |
|
|
|
<a>Recipent_id {{ contact.recipent_id }}</a> |
|
|
|
|
|
|
|
<a>Sender_id {{ contact.sender_id }}</a> |
|
|
|
|
|
|
|
<a>Current {{ request.user.pk }}</a> |
|
|
|
|
|
|
|
<a href="javascript:void(0)" class="deleteMess"> |
|
|
|
<a href="javascript:void(0)" class="deleteMess"> |
|
|
|
Удалить контакт |
|
|
|
Удалить контакт |
|
|
|
</a> |
|
|
|
</a> |
|
|
|
@ -57,10 +57,11 @@ |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="col-lg-6 commChat" id="contact-chat"> |
|
|
|
<div class="col-lg-6 commChat" id="contact-chat"> |
|
|
|
<div id="message-chat-space"> |
|
|
|
<div id="message-chat-space"> |
|
|
|
|
|
|
|
|
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<form id="contact-chat-form"> |
|
|
|
<form id="contact-chat-form"> |
|
|
|
<input type="text" value="{{ request.user.pk }}" name="senderId" id="senderId" /> |
|
|
|
<input type="hidden" value="{{ request.user.pk }}" name="senderId" id="senderId" /> |
|
|
|
<input type="text" value="" name="recipentId" id="recipentId" /> |
|
|
|
<input type="hidden" value="" name="recipentId" id="recipentId" /> |
|
|
|
|
|
|
|
|
|
|
|
<textarea id="chat" name="chat_message" class="box-sizing"></textarea> |
|
|
|
<textarea id="chat" name="chat_message" class="box-sizing"></textarea> |
|
|
|
<div class="bunChat"> |
|
|
|
<div class="bunChat"> |
|
|
|
@ -137,7 +138,7 @@ |
|
|
|
<div class="messageBlock box-sizing disTab"> |
|
|
|
<div class="messageBlock box-sizing disTab"> |
|
|
|
<p>Заказы</p> |
|
|
|
<p>Заказы</p> |
|
|
|
{% for order in orders %} |
|
|
|
{% for order in orders %} |
|
|
|
<div class="orderBlock box-sizing order-block" data-id="{{ order.id }}"> |
|
|
|
<div class="orderBlock box-sizing order-block" data-recipent-id="{{ order.project.customer.pk }}" data-id="{{ order.id }}"> |
|
|
|
<span class="dimovChat"></span> |
|
|
|
<span class="dimovChat"></span> |
|
|
|
<p class="titleOB"> |
|
|
|
<p class="titleOB"> |
|
|
|
{{ order }} |
|
|
|
{{ order }} |
|
|
|
@ -161,15 +162,15 @@ |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="col-lg-6 commChat"> |
|
|
|
<div class="col-lg-6 commChat"> |
|
|
|
<div id="message-chat-order-space"> |
|
|
|
<div id="message-chat-order-space"> |
|
|
|
{% for msg in chat_messages %} |
|
|
|
{# {% for msg in chat_messages %}#} |
|
|
|
<div class="col-lg-12 insetCommChat {% if msg.sender.pk == request.user.pk %}youChat{% endif %}"> |
|
|
|
{# <div class="col-lg-12 insetCommChat {% if msg.sender.pk == request.user.pk %}youChat{% endif %}">#} |
|
|
|
<div class="topCommChat"> |
|
|
|
{# <div class="topCommChat">#} |
|
|
|
<p class="nameCommChat {% if msg.sender.pk == request.user.pk %}greenNCC{% endif %}">{{ msg.sender.get_full_name }}</p> |
|
|
|
{# <p class="nameCommChat {% if msg.sender.pk == request.user.pk %}greenNCC{% endif %}">{{ msg.sender.get_full_name }}</p>#} |
|
|
|
<span>{{ msg.created }}</span> |
|
|
|
{# <span>{{ msg.created }}</span>#} |
|
|
|
</div> |
|
|
|
{# </div>#} |
|
|
|
<p class="textCommChat">{{ msg }}</p> |
|
|
|
{# <p class="textCommChat">{{ msg }}</p>#} |
|
|
|
</div> |
|
|
|
{# </div>#} |
|
|
|
{% endfor %} |
|
|
|
{# {% endfor %}#} |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<form id="chat-contractor-order"> |
|
|
|
<form id="chat-contractor-order"> |
|
|
|
<input type="text" id="orderId" /> |
|
|
|
<input type="text" id="orderId" /> |
|
|
|
@ -364,6 +365,7 @@ var SocketHandler = function () { |
|
|
|
}; |
|
|
|
}; |
|
|
|
sock.onmessage = function (event) { |
|
|
|
sock.onmessage = function (event) { |
|
|
|
console.log(event.data); |
|
|
|
console.log(event.data); |
|
|
|
|
|
|
|
alert(event.data); |
|
|
|
var message = JSON.parse(event.data); |
|
|
|
var message = JSON.parse(event.data); |
|
|
|
var inbox = document.getElementById('message-chat-space'); |
|
|
|
var inbox = document.getElementById('message-chat-space'); |
|
|
|
inbox.innerHTML += '<div class="col-lg-12 insetCommChat"><div class="topCommChat">' + |
|
|
|
inbox.innerHTML += '<div class="col-lg-12 insetCommChat"><div class="topCommChat">' + |
|
|
|
@ -404,6 +406,7 @@ var SocketHandler = function () { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
$(function () { |
|
|
|
$(function () { |
|
|
|
|
|
|
|
var currentChatUser = {{ request.user.pk }}; |
|
|
|
var socket = new SocketHandler(); |
|
|
|
var socket = new SocketHandler(); |
|
|
|
var form = document.getElementById('message_form'); |
|
|
|
var form = document.getElementById('message_form'); |
|
|
|
var csrftoken = getCookie('csrftoken'); |
|
|
|
var csrftoken = getCookie('csrftoken'); |
|
|
|
@ -411,7 +414,9 @@ $(function () { |
|
|
|
// Вытащить сообщения для чата заказа |
|
|
|
// Вытащить сообщения для чата заказа |
|
|
|
$('.order-block').on('click', function () { |
|
|
|
$('.order-block').on('click', function () { |
|
|
|
var orderId = $(this).attr('data-id'); |
|
|
|
var orderId = $(this).attr('data-id'); |
|
|
|
|
|
|
|
var recipentId = $(this).attr('data-recipent-id'); |
|
|
|
$("#chat-contractor-order #orderId").val(orderId); |
|
|
|
$("#chat-contractor-order #orderId").val(orderId); |
|
|
|
|
|
|
|
$("#chat-contractor-order #recipentId").val(recipentId); |
|
|
|
var inbox = document.getElementById('message-chat-order-space'); |
|
|
|
var inbox = document.getElementById('message-chat-order-space'); |
|
|
|
inbox.innerHTML = ''; |
|
|
|
inbox.innerHTML = ''; |
|
|
|
$.ajax({ |
|
|
|
$.ajax({ |
|
|
|
@ -439,14 +444,21 @@ $(function () { |
|
|
|
$.ajax({ |
|
|
|
$.ajax({ |
|
|
|
url: '/api/message', |
|
|
|
url: '/api/message', |
|
|
|
type: 'GET', |
|
|
|
type: 'GET', |
|
|
|
data: {csrfmiddlewaretoken: csrftoken, 'recipent__id': userId}, |
|
|
|
data: {csrfmiddlewaretoken: csrftoken, 'operand': 'in', 'sender_id':currentChatUser,'recipent_id': userId}, |
|
|
|
dataType: 'json', |
|
|
|
dataType: 'json', |
|
|
|
success: function (json) { |
|
|
|
success: function (json) { |
|
|
|
$.each(json.results, function (i, v) { |
|
|
|
$.each(json.results, function (i, v) { |
|
|
|
|
|
|
|
|
|
|
|
console.log(v.sender.id); |
|
|
|
console.log(v.sender.id); |
|
|
|
console.log(v.recipent.id); |
|
|
|
var senderName = 'Вы'; |
|
|
|
inbox.innerHTML += '<div class="col-lg-12 insetCommChat"><div class="topCommChat">' + |
|
|
|
var className = 'youChat'; |
|
|
|
'<p class="nameCommChat">Иванов</p> <span>13.0.2016</span></div>' + |
|
|
|
if(v.sender.id == userId){ |
|
|
|
|
|
|
|
senderName = v.sender.username; |
|
|
|
|
|
|
|
className = ''; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
inbox.innerHTML += '<div class="col-lg-12 insetCommChat '+ className+'"><div class="topCommChat">' + |
|
|
|
|
|
|
|
'<p class="nameCommChat">'+ senderName +'</p> <span>'+ v.created +'</span></div>' + |
|
|
|
'<p class="textCommChat">' + v.text + '</p></div>'; |
|
|
|
'<p class="textCommChat">' + v.text + '</p></div>'; |
|
|
|
}); |
|
|
|
}); |
|
|
|
} |
|
|
|
} |
|
|
|
@ -469,14 +481,15 @@ $(function () { |
|
|
|
} |
|
|
|
} |
|
|
|
}); |
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var inbox = $('#message-chat-space').html(); |
|
|
|
|
|
|
|
$('#message-chat-space').html(inbox + '<div class="col-lg-12 insetCommChat"><div class="topCommChat">' + |
|
|
|
|
|
|
|
'<p class="nameCommChat">Вы</p> <span>Сейчас</span></div>' + |
|
|
|
|
|
|
|
'<p class="textCommChat">' + chatMessage +'</p></div>'); |
|
|
|
|
|
|
|
|
|
|
|
$("#chat").val(""); |
|
|
|
$("#chat").val(""); |
|
|
|
}); |
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}); |
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</script> |
|
|
|
</script> |
|
|
|
{% endblock %} |
|
|
|
{% endblock %} |
|
|
|
|