From e5a317ccc47c3a0483eabd70238c647e80671534 Mon Sep 17 00:00:00 2001
From: Mukhtar
Date: Wed, 21 Sep 2016 19:38:27 +0300
Subject: [PATCH 1/2] Fixes counts
---
assets/js/chat.js | 2 +-
assets/js/chat_contractor.js | 20 ++++++++++++++++++++
assets/js/chat_customer.js | 5 +++++
chat/admin.py | 18 +++++++++++++++++-
chat/chat.py | 1 -
chat/templates/chat_contractor.html | 8 +++++++-
chat/templates/chat_customer.html | 7 ++++---
chat/views.py | 13 +++++++------
8 files changed, 61 insertions(+), 13 deletions(-)
diff --git a/assets/js/chat.js b/assets/js/chat.js
index 06fef1f..4f06bea 100644
--- a/assets/js/chat.js
+++ b/assets/js/chat.js
@@ -338,7 +338,7 @@ function dialog (message, yesCallback, notCallback) {
$("#message-chat-space").removeClass().addClass("contact-space" + sumSenderRecipent);
var currNewCount = parseInt($(".contact-count-" + sumSenderRecipent).text());
var resCount = newCount - currNewCount;
- $("#count-tab-contact").text(newCount - currNewCount);
+ $("#count-tab-contact").text(resCount);
$(".contact-count-" + sumSenderRecipent).text(0);
var docList = document.getElementById('documentSpace');
inbox.innerHTML = '';
diff --git a/assets/js/chat_contractor.js b/assets/js/chat_contractor.js
index a5227c9..871a2af 100644
--- a/assets/js/chat_contractor.js
+++ b/assets/js/chat_contractor.js
@@ -191,6 +191,13 @@ $(function () {
var teamId = $(this).attr('data-team-id');
var orderId = $(this).attr('data-order-id');
location.hash = '#teamorder' + orderId;
+
+ var newCount = parseInt($("#count-tab-team").text());
+ var currNewCount = parseInt($(".teamorder-count-" + teamId).text());
+ var resCount = newCount - currNewCount;
+ $("#count-tab-team").text(resCount);
+ $(".teamorder-count-" + teamId).text(0)
+
$("#team-chat-form #teamId").val(teamId);
$("#team-chat-form #recipentTeamId").val("");
$("#team-chat-form #orderTeamId").val(orderId);
@@ -285,6 +292,13 @@ $(function () {
var teamId = $(this).attr('data-team-id');
location.hash = '#myteam' + teamId;
+
+ var newCount = parseInt($("#count-tab-team").text());
+ var currNewCount = parseInt($(".team-count-" + teamId).text());
+ var resCount = newCount - currNewCount;
+ $("#count-tab-team").text(resCount);
+ $(".team-count-" + teamId).text(0)
+
$("#team-chat-form #teamId").val(teamId);
$("#add-form-team-note #teamNote").val(teamId);
$("#team-chat-form #recipentTeamId").val("");
@@ -363,6 +377,12 @@ $(function () {
var projectId = $(this).attr('data-project-id');
var teamCurrentId = parseInt($(this).attr('data-team-id'));
+ var newCount = parseInt($("#count-tab-order").text());
+ var currNewCount = parseInt($(".order-count-" + orderId).text());
+ var resCount = newCount - currNewCount;
+ $("#count-tab-order").text(resCount);
+ $(".order-count-" + orderId).text(0);
+
if (teamCurrentId>0){
$("#fromTeamId").val(teamCurrentId);
$("#fromContractorId").val("");
diff --git a/assets/js/chat_customer.js b/assets/js/chat_customer.js
index bd8412d..ebc8f3a 100644
--- a/assets/js/chat_customer.js
+++ b/assets/js/chat_customer.js
@@ -449,6 +449,11 @@ $(function () {
var secureOrder = $(this).attr('data-secure-deal');
secureOrder = Boolean(secureOrder);
+ var currNewCount = parseInt($(".order-count-" + orderId).text());
+ var resCount = newCount - currNewCount;
+ $("#count-tab-order").text(resCount);
+ $(".order-count-" + orderId).text(0);
+
var teamCurrentId = parseInt($(this).attr('data-team-id'));
if (teamCurrentId>0){
diff --git a/chat/admin.py b/chat/admin.py
index 969a2d8..7a1f3ce 100644
--- a/chat/admin.py
+++ b/chat/admin.py
@@ -14,7 +14,23 @@ class DocumentsAdmin(admin.ModelAdmin):
list_display = ('sender', 'recipent', 'order','team')
+class NewMessageAdmin(admin.ModelAdmin):
+ list_display = ('user', 'message_pk','message_recipent', 'message_order','message_team')
+
+ def message_pk(self, obj):
+ return obj.message.pk
+
+ def message_recipent(self, obj):
+ return obj.message.recipent
+
+ def message_order(self, obj):
+ return obj.message.order
+
+ def message_team(self, obj):
+ return obj.message.team
+
+
admin.site.register(Message, MessageAdmin)
admin.site.register(Notes, NotesAdmin)
admin.site.register(Documents, DocumentsAdmin)
-admin.site.register(NewMessage)
+admin.site.register(NewMessage, NewMessageAdmin)
diff --git a/chat/chat.py b/chat/chat.py
index f7b9418..57786f5 100644
--- a/chat/chat.py
+++ b/chat/chat.py
@@ -30,7 +30,6 @@ class ChatHandler(websocket.WebSocketHandler):
# @gen.coroutine
def on_message(self, message):
parsed = escape.json_decode(message)
- print(parsed)
if 'dummy' in parsed:
return
diff --git a/chat/templates/chat_contractor.html b/chat/templates/chat_contractor.html
index 5507ba5..3b51cea 100644
--- a/chat/templates/chat_contractor.html
+++ b/chat/templates/chat_contractor.html
@@ -127,11 +127,14 @@
{{ order }}
-
Исполнитель: {{ request.user.get_full_name }}
+
+ {% get_new_count_for_order request.user order.id %}
+ Исполнитель: {{ request.user.get_full_name }}
Полное описание заказа
+
@@ -283,6 +286,8 @@
+
+ {% get_new_count_for_team request.user torder.team.id torder.pk %}
Исполнитель: {{ torder.team.name }}
{% specialization_widget contractor.pk %}