|
|
|
@ -17,15 +17,18 @@ |
|
|
|
<ul class="nav nav-tabs nav-justified"> |
|
|
|
<ul class="nav nav-tabs nav-justified"> |
|
|
|
|
|
|
|
|
|
|
|
<li role="presentation"> |
|
|
|
<li role="presentation"> |
|
|
|
<a href="#tab1" data-toggle="tab">Личные<span class="count-tab" id="count-tab-contact">{{ contacts_users_count }}</span></a> |
|
|
|
<a href="#tab1" data-toggle="tab">Личные<span class="count-tab" |
|
|
|
|
|
|
|
id="count-tab-contact">{{ contacts_users_count }}</span></a> |
|
|
|
</li> |
|
|
|
</li> |
|
|
|
|
|
|
|
|
|
|
|
<li role="presentation"> |
|
|
|
<li role="presentation"> |
|
|
|
<a href="#tab2" data-toggle="tab">Заказчики<span class="count-tab" id="count-tab-order">{{ orders_ms_count }}</span></a> |
|
|
|
<a href="#tab2" data-toggle="tab">Заказчики<span class="count-tab" |
|
|
|
|
|
|
|
id="count-tab-order">{{ orders_ms_count }}</span></a> |
|
|
|
</li> |
|
|
|
</li> |
|
|
|
|
|
|
|
|
|
|
|
<li role="presentation"> |
|
|
|
<li role="presentation"> |
|
|
|
<a href="#tab3" data-toggle="tab">Исполнители,Группы<span class="count-tab" id="count-tab-team">{{ teams_ms_count }}</span></a> |
|
|
|
<a href="#tab3" data-toggle="tab">Исполнители,Группы<span class="count-tab" |
|
|
|
|
|
|
|
id="count-tab-team">{{ teams_ms_count }}</span></a> |
|
|
|
</li> |
|
|
|
</li> |
|
|
|
|
|
|
|
|
|
|
|
</ul> |
|
|
|
</ul> |
|
|
|
@ -40,29 +43,7 @@ |
|
|
|
<div class="messageBlock box-sizing disTab"> |
|
|
|
<div class="messageBlock box-sizing disTab"> |
|
|
|
<p>Контакты</p> |
|
|
|
<p>Контакты</p> |
|
|
|
{% for contact in contacts_users %} |
|
|
|
{% for contact in contacts_users %} |
|
|
|
<div class="message messd user-block" id="userBlock{{ contact.pk }}" data-id="{{ contact.pk }}"> |
|
|
|
{% include 'inc-contact-card.html' %} |
|
|
|
<div class="imgMess"> |
|
|
|
|
|
|
|
{% thumbnail contact.avatar "60x60" crop="center" as im %} |
|
|
|
|
|
|
|
<img src="{{ im.url }}" alt="mess-image"> |
|
|
|
|
|
|
|
{% endthumbnail %} |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
<p class="nameMess"> |
|
|
|
|
|
|
|
{% if contact.is_contractor %} |
|
|
|
|
|
|
|
{% url "users:contractor-profile" pk=contact.pk as contact_url %} |
|
|
|
|
|
|
|
{% else %} |
|
|
|
|
|
|
|
{% url "users:customer-profile-open-projects" pk=contact.pk as contact_url %} |
|
|
|
|
|
|
|
{% endif %} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div><a href="{{ contact_url }}" style="color:black;">{{ contact.username }}</a></div> |
|
|
|
|
|
|
|
</p> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<a href="#" data-id="{{ contact.id }}" class="conMess">Контакты</a> |
|
|
|
|
|
|
|
<span class="contact-count-{{ contact.pk|add:request.user.pk }}"> |
|
|
|
|
|
|
|
{% get_new_count_for_contact contact request.user %}</span> |
|
|
|
|
|
|
|
<a href="#" class="deleteMess" data-recipent-id="{{ contact.pk }}"> |
|
|
|
|
|
|
|
Удалить контакт |
|
|
|
|
|
|
|
</a> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
{% endfor %} |
|
|
|
{% endfor %} |
|
|
|
|
|
|
|
|
|
|
|
</div> |
|
|
|
</div> |
|
|
|
@ -74,12 +55,13 @@ |
|
|
|
<input type="hidden" value="{{ request.user.pk }}" name="senderId" id="senderContactId"/> |
|
|
|
<input type="hidden" value="{{ request.user.pk }}" name="senderId" id="senderContactId"/> |
|
|
|
<input type="hidden" value="" name="recipentId" id="recipentContactId"/> |
|
|
|
<input type="hidden" value="" name="recipentId" id="recipentContactId"/> |
|
|
|
<textarea id="chat" name="chat_message" class="box-sizing"></textarea> |
|
|
|
<textarea id="chat" name="chat_message" class="box-sizing"></textarea> |
|
|
|
<p class="errorEmptyMessage" style="color: red;display:none;">Пустое сообщение нельзя отправить</p> |
|
|
|
<p class="errorEmptyMessage" style="color: red;display:none;">Пустое сообщение нельзя |
|
|
|
|
|
|
|
отправить</p> |
|
|
|
|
|
|
|
|
|
|
|
<div class="bunChat"> |
|
|
|
<div class="bunChat"> |
|
|
|
<div class="setChat box-sizing upload"> |
|
|
|
<div class="setChat box-sizing upload"> |
|
|
|
<input type="file" name="file" id="upload-document-contact"> |
|
|
|
<input type="file" name="file" id="upload-document-contact"> |
|
|
|
<p>Прикрепить файл</p> |
|
|
|
<p>Прикрепить файл</p> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div id="document-send-contact"></div> |
|
|
|
<div id="document-send-contact"></div> |
|
|
|
<a id="contact-chat-add-message" href="#">отправить</a> |
|
|
|
<a id="contact-chat-add-message" href="#">отправить</a> |
|
|
|
@ -89,29 +71,30 @@ |
|
|
|
|
|
|
|
|
|
|
|
<div class="col-lg-3 wrChat1"> |
|
|
|
<div class="col-lg-3 wrChat1"> |
|
|
|
<div class="col-lg-12 documentsChat"> |
|
|
|
<div class="col-lg-12 documentsChat"> |
|
|
|
<p>Прикрепленные документы</p> |
|
|
|
<p>Прикрепленные документы</p> |
|
|
|
<ul id="documentSpace"> |
|
|
|
<ul id="documentSpace"> |
|
|
|
</ul> |
|
|
|
</ul> |
|
|
|
<a href="{% url 'common:create' %}"> |
|
|
|
<a href="{% url 'common:create' %}"> |
|
|
|
Распечатать с помощью ресурса |
|
|
|
Распечатать с помощью ресурса |
|
|
|
</a> |
|
|
|
</a> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="textAreaBlock2 box-sizing disTab"> |
|
|
|
<div class="textAreaBlock2 box-sizing disTab"> |
|
|
|
<ul class="contractor-notes-block"> |
|
|
|
<ul class="contractor-notes-block"> |
|
|
|
</ul> |
|
|
|
</ul> |
|
|
|
<form id="add-form-contractor-note"> |
|
|
|
<form id="add-form-contractor-note"> |
|
|
|
<p>Для заметок</p> |
|
|
|
<p>Для заметок</p> |
|
|
|
<input type="hidden" name="sender" id="senderNoteContractor" value="{{ request.user.pk }}"/> |
|
|
|
<input type="hidden" name="sender" id="senderNoteContractor" |
|
|
|
<input type="hidden" name="recipent" id="recipentNoteContractor" value=""/> |
|
|
|
value="{{ request.user.pk }}"/> |
|
|
|
|
|
|
|
<input type="hidden" name="recipent" id="recipentNoteContractor" value=""/> |
|
|
|
|
|
|
|
|
|
|
|
<textarea id="chat2" name="text"></textarea> |
|
|
|
<textarea id="chat2" name="text"></textarea> |
|
|
|
<a href="#" id="add-note-contractor">сохранить</a> |
|
|
|
<a href="#" id="add-note-contractor">сохранить</a> |
|
|
|
</form> |
|
|
|
</form> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
<!-- order-info --> |
|
|
|
<!-- order-info --> |
|
|
|
{% include 'contact-info.html' %} |
|
|
|
{% include 'contact-info.html' %} |
|
|
|
<!-- --> |
|
|
|
<!-- --> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<!-- End block Tab1 --> |
|
|
|
<!-- End block Tab1 --> |
|
|
|
@ -123,12 +106,15 @@ |
|
|
|
<p>Заказы</p> |
|
|
|
<p>Заказы</p> |
|
|
|
{% for order in orders %} |
|
|
|
{% for order in orders %} |
|
|
|
<div class="orderBlock box-sizing order-block" data-project-id="{{ order.project.id }}" |
|
|
|
<div class="orderBlock box-sizing order-block" data-project-id="{{ order.project.id }}" |
|
|
|
id="orderBlock{{ order.id }}" data-team-id="{% if order.team %}{{ order.team.pk }}{% else %}0{% endif %}" data-recipent-id="{{ order.project.customer.pk }}" data-id="{{ order.id }}"> |
|
|
|
id="orderBlock{{ order.id }}" |
|
|
|
|
|
|
|
data-team-id="{% if order.team %}{{ order.team.pk }}{% else %}0{% endif %}" |
|
|
|
|
|
|
|
data-recipent-id="{{ order.project.customer.pk }}" data-id="{{ order.id }}"> |
|
|
|
<span class="dimovChat"></span> |
|
|
|
<span class="dimovChat"></span> |
|
|
|
<p class="titleOB">{{ order }}</p> |
|
|
|
<p class="titleOB">{{ order }}</p> |
|
|
|
<div class="hideOBB"> |
|
|
|
<div class="hideOBB"> |
|
|
|
<p class="pOB"> |
|
|
|
<p class="pOB"> |
|
|
|
<span style="display: none;" class="order-count-{{ order.id }}">{% get_new_count_for_order request.user order.id %}</span> |
|
|
|
<span style="display: none;" |
|
|
|
|
|
|
|
class="order-count-{{ order.id }}">{% get_new_count_for_order request.user order.id %}</span> |
|
|
|
<span>Исполнитель:</span> {{ request.user.get_full_name }}</p> |
|
|
|
<span>Исполнитель:</span> {{ request.user.get_full_name }}</p> |
|
|
|
|
|
|
|
|
|
|
|
<a href="#" class="linkChat11 full-order-info"> |
|
|
|
<a href="#" class="linkChat11 full-order-info"> |
|
|
|
@ -143,17 +129,17 @@ |
|
|
|
|
|
|
|
|
|
|
|
{% if archive_orders %} |
|
|
|
{% if archive_orders %} |
|
|
|
<div class="textAreaBlock2 FFD box-sizing disTab"> |
|
|
|
<div class="textAreaBlock2 FFD box-sizing disTab"> |
|
|
|
<a href="#" data-show="true" id="trashed-button">Показать архивные заказы</a> |
|
|
|
<a href="#" data-show="true" id="trashed-button">Показать архивные заказы</a> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<p id="show-archive-label" style="display: none;">Архивные заказы</p> |
|
|
|
<p id="show-archive-label" style="display: none;">Архивные заказы</p> |
|
|
|
<div id="archive-space" style="display:none;"> |
|
|
|
<div id="archive-space" style="display:none;"> |
|
|
|
|
|
|
|
|
|
|
|
<div id="trashed-orders"> |
|
|
|
<div id="trashed-orders"> |
|
|
|
{% for order in archive_orders %} |
|
|
|
{% for order in archive_orders %} |
|
|
|
<div data-id="{{ order.id }}" class="trashedOrderBlock box-sizing"> |
|
|
|
<div data-id="{{ order.id }}" class="trashedOrderBlock box-sizing"> |
|
|
|
<span class="dimovChat"></span> |
|
|
|
<span class="dimovChat"></span> |
|
|
|
<p class="titleOB"> {{ order.project.name }}</p> |
|
|
|
<p class="titleOB"> {{ order.project.name }}</p> |
|
|
|
<div class="hideOBB"><p class="pOB"> |
|
|
|
<div class="hideOBB"><p class="pOB"> |
|
|
|
<span>Исполнитель: |
|
|
|
<span>Исполнитель: |
|
|
|
{% if order.contractor %} |
|
|
|
{% if order.contractor %} |
|
|
|
{{ order.contractor.get_full_name }} |
|
|
|
{{ order.contractor.get_full_name }} |
|
|
|
@ -161,15 +147,16 @@ |
|
|
|
{{ order.team.name }} |
|
|
|
{{ order.team.name }} |
|
|
|
{% endif %} |
|
|
|
{% endif %} |
|
|
|
</span> |
|
|
|
</span> |
|
|
|
</p> |
|
|
|
</p> |
|
|
|
<a href="#" class="linkChat11 full-order-info"> |
|
|
|
<a href="#" class="linkChat11 full-order-info"> |
|
|
|
<span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span> |
|
|
|
<span class="glyphicon glyphicon-info-sign" |
|
|
|
Полное описание заказа |
|
|
|
aria-hidden="true"></span> |
|
|
|
</a> |
|
|
|
Полное описание заказа |
|
|
|
|
|
|
|
</a> |
|
|
|
|
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
{% endfor %} |
|
|
|
{% endfor %} |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
</div> |
|
|
|
</div> |
|
|
|
{% endif %} |
|
|
|
{% endif %} |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
@ -183,11 +170,12 @@ |
|
|
|
<input type="hidden" id="senderId" name="senderId" value="{{ request.user.pk }}"> |
|
|
|
<input type="hidden" id="senderId" name="senderId" value="{{ request.user.pk }}"> |
|
|
|
<input type="hidden" id="recipentId" name="recipentId" value=""> |
|
|
|
<input type="hidden" id="recipentId" name="recipentId" value=""> |
|
|
|
<textarea id="chat" class="box-sizing"></textarea> |
|
|
|
<textarea id="chat" class="box-sizing"></textarea> |
|
|
|
<p class="errorEmptyMessage" style="color: red;display:none;">Пустое сообщение нельзя отправить</p> |
|
|
|
<p class="errorEmptyMessage" style="color: red;display:none;">Пустое сообщение нельзя |
|
|
|
|
|
|
|
отправить</p> |
|
|
|
<div class="bunChat"> |
|
|
|
<div class="bunChat"> |
|
|
|
<div class="setChat box-sizing upload"> |
|
|
|
<div class="setChat box-sizing upload"> |
|
|
|
<input type="file" name="file" id="upload-document-order"> |
|
|
|
<input type="file" name="file" id="upload-document-order"> |
|
|
|
<p>Прикрепить файл</p> |
|
|
|
<p>Прикрепить файл</p> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div id="document-send-order"></div> |
|
|
|
<div id="document-send-order"></div> |
|
|
|
|
|
|
|
|
|
|
|
@ -218,28 +206,28 @@ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="stepssBlock box-sizing disTab" id="completeWork"> |
|
|
|
<div class="stepssBlock box-sizing disTab" id="completeWork"> |
|
|
|
<p class="titleStepss">3 / Выполнение работы</p> |
|
|
|
<p class="titleStepss">3 / Выполнение работы</p> |
|
|
|
<p class="textStepss"> |
|
|
|
<p class="textStepss"> |
|
|
|
Процесс выполнения задания в заказе до получения |
|
|
|
Процесс выполнения задания в заказе до получения |
|
|
|
заказчиком итогового результата работы. |
|
|
|
заказчиком итогового результата работы. |
|
|
|
</p> |
|
|
|
</p> |
|
|
|
<div id="stagesWork" class="stages-work textAreaBlock2"> |
|
|
|
<div id="stagesWork" class="stages-work textAreaBlock2"> |
|
|
|
|
|
|
|
|
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
<div id="leaveReview" style="display: none;"> |
|
|
|
<div id="leaveReview" style="display: none;"> |
|
|
|
<div class="closeChat closeChat1"> |
|
|
|
<div class="closeChat closeChat1"> |
|
|
|
<a href="#" data-toggle="modal" data-target="#review-add" data-review-type="positive"> |
|
|
|
<a href="#" data-toggle="modal" data-target="#review-add" data-review-type="positive"> |
|
|
|
Закрыть проект<br>и оставить отзыв |
|
|
|
Закрыть проект<br>и оставить отзыв |
|
|
|
</a> |
|
|
|
</a> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
<div class="closeChat closeChat2"> |
|
|
|
<div class="closeChat closeChat2"> |
|
|
|
<a href="#" data-toggle="modal" data-target="#review-add" data-review-type="negative"> |
|
|
|
<a href="#" data-toggle="modal" data-target="#review-add" data-review-type="negative"> |
|
|
|
Закрыть проект<br>и оставить отзыв |
|
|
|
Закрыть проект<br>и оставить отзыв |
|
|
|
</a> |
|
|
|
</a> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
<!-- Review add --> |
|
|
|
<!-- Review add --> |
|
|
|
@ -250,12 +238,12 @@ |
|
|
|
<!-- --> |
|
|
|
<!-- --> |
|
|
|
|
|
|
|
|
|
|
|
<div class="col-lg-12 documentsChat"> |
|
|
|
<div class="col-lg-12 documentsChat"> |
|
|
|
<p>Прикрепленные документы</p> |
|
|
|
<p>Прикрепленные документы</p> |
|
|
|
<ul id="documentOrderSpace"></ul> |
|
|
|
<ul id="documentOrderSpace"></ul> |
|
|
|
<a href="{% url 'common:create' %}"> |
|
|
|
<a href="{% url 'common:create' %}"> |
|
|
|
Распечатать с помощью ресурса |
|
|
|
Распечатать с помощью ресурса |
|
|
|
</a> |
|
|
|
</a> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
<div class="textAreaBlock2 box-sizing disTab"> |
|
|
|
<div class="textAreaBlock2 box-sizing disTab"> |
|
|
|
<ul class="order-notes-block"> |
|
|
|
<ul class="order-notes-block"> |
|
|
|
@ -273,118 +261,125 @@ |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<!-- End block Tab2--> |
|
|
|
<!-- End block Tab2--> |
|
|
|
|
|
|
|
|
|
|
|
<!-- Tab3 groups block --> |
|
|
|
<!-- Tab3 groups block --> |
|
|
|
<div class="chatBlock disTab tab-pane fade" id="tab3"> |
|
|
|
<div class="chatBlock disTab tab-pane fade" id="tab3"> |
|
|
|
<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 torder in team_orders %} |
|
|
|
{% for torder in team_orders %} |
|
|
|
<div class="team-order-block orderBlock box-sizing" id="teamOrderBlock{{ torder.pk }}" |
|
|
|
<div class="team-order-block orderBlock box-sizing" id="teamOrderBlock{{ torder.pk }}" |
|
|
|
data-team-id="{{ torder.team.pk }}" data-order-id="{{ torder.pk }}" data-id="{{ torder.pk }}"> |
|
|
|
data-team-id="{{ torder.team.pk }}" data-order-id="{{ torder.pk }}" |
|
|
|
<span class="dimovChat"></span> |
|
|
|
data-id="{{ torder.pk }}"> |
|
|
|
<p class="titleOB"> |
|
|
|
<span class="dimovChat"></span> |
|
|
|
{{ torder }} |
|
|
|
<p class="titleOB"> |
|
|
|
|
|
|
|
{{ torder }} |
|
|
|
|
|
|
|
</p> |
|
|
|
|
|
|
|
<div class="hideOBB disTab"> |
|
|
|
|
|
|
|
<p class="pOB"> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span style="display: none;" |
|
|
|
|
|
|
|
class="teamorder-count-{{ torder.team.id }}">{% get_new_count_for_team request.user torder.team.id torder.pk %}</span> |
|
|
|
|
|
|
|
<span>Исполнитель:</span> {{ torder.team.name }} |
|
|
|
</p> |
|
|
|
</p> |
|
|
|
<div class="hideOBB disTab"> |
|
|
|
<ul class="listChat1"> |
|
|
|
<p class="pOB"> |
|
|
|
{% for tuser in torder.team.users.all %} |
|
|
|
|
|
|
|
<li>{{ tuser }}</li> |
|
|
|
<span style="display: none;" class="teamorder-count-{{ torder.team.id }}">{% get_new_count_for_team request.user torder.team.id torder.pk %}</span> |
|
|
|
{% endfor %} |
|
|
|
<span>Исполнитель:</span> {{ torder.team.name }} |
|
|
|
</ul> |
|
|
|
</p> |
|
|
|
<p class="pOB"> |
|
|
|
<ul class="listChat1"> |
|
|
|
<span>Чаты:</span> |
|
|
|
{% for tuser in torder.team.users.all %} |
|
|
|
{% if request.user.pk != torder.team.owner.pk %} |
|
|
|
<li>{{ tuser }}</li> |
|
|
|
<span class="team-chat-user" |
|
|
|
{% endfor %} |
|
|
|
data-id="{{ torder.team.owner.pk }}">{{ torder.team.owner.username }}</span> |
|
|
|
</ul> |
|
|
|
{% endif %} |
|
|
|
<p class="pOB"> |
|
|
|
{% for tuser in torder.team.contractors.all %} |
|
|
|
<span>Чаты:</span> |
|
|
|
{% if request.user.pk != tuser.pk %} |
|
|
|
{% if request.user.pk != torder.team.owner.pk %} |
|
|
|
<span class="team-chat-user" |
|
|
|
<span class="team-chat-user" |
|
|
|
data-id="{{ tuser.pk }}">{{ tuser.username }}</span> |
|
|
|
data-id="{{ torder.team.owner.pk}}">{{ torder.team.owner.username }}</span> |
|
|
|
{% endif %} |
|
|
|
{% endif %} |
|
|
|
{% endfor %} |
|
|
|
{% for tuser in torder.team.contractors.all %} |
|
|
|
</p> |
|
|
|
{% if request.user.pk != tuser.pk %} |
|
|
|
<a href="#" class="linkChat11 full-order-info"> |
|
|
|
<span class="team-chat-user" |
|
|
|
<span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span> |
|
|
|
data-id="{{ tuser.pk }}">{{ tuser.username }}</span> |
|
|
|
Полное описание заказа |
|
|
|
{% endif %} |
|
|
|
</a> |
|
|
|
{% endfor %} |
|
|
|
|
|
|
|
</p> |
|
|
|
|
|
|
|
<a href="#" class="linkChat11 full-order-info"> |
|
|
|
|
|
|
|
<span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span> |
|
|
|
|
|
|
|
Полное описание заказа |
|
|
|
|
|
|
|
</a> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
</div> |
|
|
|
</div> |
|
|
|
{% endfor %} |
|
|
|
</div> |
|
|
|
|
|
|
|
{% endfor %} |
|
|
|
|
|
|
|
|
|
|
|
{% for yteam in your_teams %} |
|
|
|
{% for yteam in your_teams %} |
|
|
|
<div class="team-block orderBlock box-sizing" id="teamMyBlock{{ yteam.pk }}" data-team-id="{{ yteam.pk }}"> |
|
|
|
<div class="team-block orderBlock box-sizing" id="teamMyBlock{{ yteam.pk }}" |
|
|
|
<span class="dimovChat"></span> |
|
|
|
data-team-id="{{ yteam.pk }}"> |
|
|
|
<p class="titleOB"> |
|
|
|
<span class="dimovChat"></span> |
|
|
|
{{ yteam }} |
|
|
|
<p class="titleOB"> |
|
|
|
|
|
|
|
{{ yteam }} |
|
|
|
|
|
|
|
</p> |
|
|
|
|
|
|
|
<div class="hideOBB disTab"> |
|
|
|
|
|
|
|
<p class="pOB"> |
|
|
|
|
|
|
|
<span style="display: none;" |
|
|
|
|
|
|
|
class="team-count-{{ yteam.id }}">{% get_new_count_for_team request.user yteam.id %}</span> |
|
|
|
|
|
|
|
<span>Владелец группы:</span> {{ yteam.owner }} |
|
|
|
|
|
|
|
</p> |
|
|
|
|
|
|
|
<ul class="listChat1"> |
|
|
|
|
|
|
|
{% for tuser in yteam.contractors.all %} |
|
|
|
|
|
|
|
<li>{{ tuser }}</li> |
|
|
|
|
|
|
|
{% endfor %} |
|
|
|
|
|
|
|
</ul> |
|
|
|
|
|
|
|
<p class="pOB"> |
|
|
|
|
|
|
|
<span>Чаты:</span> |
|
|
|
|
|
|
|
{% if request.user.pk != torder.team.owner.pk %} |
|
|
|
|
|
|
|
<span class="team-chat-user" |
|
|
|
|
|
|
|
data-id="{{ yteam.owner.pk }}">{{ yteam.owner.username }}</span> |
|
|
|
|
|
|
|
{% endif %} |
|
|
|
|
|
|
|
{% for tuser in yteam.contractors.all %} |
|
|
|
|
|
|
|
{% if request.user.pk != tuser.pk %} |
|
|
|
|
|
|
|
<span class="team-chat-user" |
|
|
|
|
|
|
|
data-id="{{ tuser.pk }}">{{ tuser.username }} </span> |
|
|
|
|
|
|
|
{% endif %} |
|
|
|
|
|
|
|
{% endfor %} |
|
|
|
</p> |
|
|
|
</p> |
|
|
|
<div class="hideOBB disTab"> |
|
|
|
|
|
|
|
<p class="pOB"> |
|
|
|
|
|
|
|
<span style="display: none;" class="team-count-{{ yteam.id }}">{% get_new_count_for_team request.user yteam.id %}</span> |
|
|
|
|
|
|
|
<span>Владелец группы:</span> {{ yteam.owner }} |
|
|
|
|
|
|
|
</p> |
|
|
|
|
|
|
|
<ul class="listChat1"> |
|
|
|
|
|
|
|
{% for tuser in yteam.contractors.all %} |
|
|
|
|
|
|
|
<li>{{ tuser }}</li> |
|
|
|
|
|
|
|
{% endfor %} |
|
|
|
|
|
|
|
</ul> |
|
|
|
|
|
|
|
<p class="pOB"> |
|
|
|
|
|
|
|
<span>Чаты:</span> |
|
|
|
|
|
|
|
{% if request.user.pk != torder.team.owner.pk %} |
|
|
|
|
|
|
|
<span class="team-chat-user" data-id="{{ yteam.owner.pk}}">{{ yteam.owner.username }}</span> |
|
|
|
|
|
|
|
{% endif %} |
|
|
|
|
|
|
|
{% for tuser in yteam.contractors.all %} |
|
|
|
|
|
|
|
{% if request.user.pk != tuser.pk %} |
|
|
|
|
|
|
|
<span class="team-chat-user" data-id="{{ tuser.pk }}">{{ tuser.username }} </span> |
|
|
|
|
|
|
|
{% endif %} |
|
|
|
|
|
|
|
{% endfor %} |
|
|
|
|
|
|
|
</p> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
{% endfor %} |
|
|
|
{% endfor %} |
|
|
|
</div> |
|
|
|
|
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="col-lg-6 commChat"> |
|
|
|
</div> |
|
|
|
<div id="message-chat-team-space"></div> |
|
|
|
<div class="col-lg-6 commChat"> |
|
|
|
<form id="team-chat-form"> |
|
|
|
<div id="message-chat-team-space"></div> |
|
|
|
<input type="hidden" name="sender" id="senderTeamId" value="{{ request.user.pk }}"> |
|
|
|
<form id="team-chat-form"> |
|
|
|
<input type="hidden" name="recipent" id="recipentTeamId"> |
|
|
|
<input type="hidden" name="sender" id="senderTeamId" value="{{ request.user.pk }}"> |
|
|
|
<input type="hidden" name="order" id="orderTeamId"> |
|
|
|
<input type="hidden" name="recipent" id="recipentTeamId"> |
|
|
|
<input type="hidden" name="team" id="teamId"> |
|
|
|
<input type="hidden" name="order" id="orderTeamId"> |
|
|
|
<input type="hidden" name="team_ids" id="teamIds"> |
|
|
|
<input type="hidden" name="team" id="teamId"> |
|
|
|
<input type="hidden" name="document-send" id="documentSendIds"> |
|
|
|
<input type="hidden" name="team_ids" id="teamIds"> |
|
|
|
<textarea id="chatText" class="chat-textarea box-sizing"></textarea> |
|
|
|
<input type="hidden" name="document-send" id="documentSendIds"> |
|
|
|
<p class="errorEmptyMessage" style="color: red;display:none;">Пустое сообщение нельзя отправить</p> |
|
|
|
<textarea id="chatText" class="chat-textarea box-sizing"></textarea> |
|
|
|
<div class="bunChat"> |
|
|
|
<p class="errorEmptyMessage" style="color: red;display:none;">Пустое сообщение нельзя |
|
|
|
<div class="setChat box-sizing upload"> |
|
|
|
отправить</p> |
|
|
|
<input type="file" name="file" id="upload-document-team"> |
|
|
|
<div class="bunChat"> |
|
|
|
<p>Прикрепить файл</p> |
|
|
|
<div class="setChat box-sizing upload"> |
|
|
|
</div> |
|
|
|
<input type="file" name="file" id="upload-document-team"> |
|
|
|
<div id="progress" class="progress"> |
|
|
|
<p>Прикрепить файл</p> |
|
|
|
<div class="progress-bar progress-bar-success"></div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div id="progress" class="progress"> |
|
|
|
|
|
|
|
<div class="progress-bar progress-bar-success"></div> |
|
|
|
<div id="document-send"></div> |
|
|
|
|
|
|
|
<a href="#" id="add-team-chat-message">отправить</a> |
|
|
|
|
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</form> |
|
|
|
|
|
|
|
</div> |
|
|
|
<div id="document-send"></div> |
|
|
|
<div class="col-lg-3 wrstepschat"> |
|
|
|
<a href="#" id="add-team-chat-message">отправить</a> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
</form> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
<div class="col-lg-3 wrstepschat"> |
|
|
|
|
|
|
|
|
|
|
|
<div class="col-lg-12 documentsChat"> |
|
|
|
<div class="col-lg-12 documentsChat"> |
|
|
|
<p>Прикрепленные документы</p> |
|
|
|
<p>Прикрепленные документы</p> |
|
|
|
<ul id="documentTeamSpace"></ul> |
|
|
|
<ul id="documentTeamSpace"></ul> |
|
|
|
<a href="{% url 'common:create' %}"> |
|
|
|
<a href="{% url 'common:create' %}"> |
|
|
|
Распечатать с помощью ресурса |
|
|
|
Распечатать с помощью ресурса |
|
|
|
</a> |
|
|
|
</a> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
<div class="textAreaBlock2 box-sizing disTab"> |
|
|
|
<div class="textAreaBlock2 box-sizing disTab"> |
|
|
|
<ul class="team-notes-block"> |
|
|
|
<ul class="team-notes-block"> |
|
|
|
@ -400,12 +395,12 @@ |
|
|
|
</form> |
|
|
|
</form> |
|
|
|
|
|
|
|
|
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<!-- End block Tab3--> |
|
|
|
</div> |
|
|
|
<!-- order-info --> |
|
|
|
<!-- End block Tab3--> |
|
|
|
{% include 'order_info.html' %} |
|
|
|
<!-- order-info --> |
|
|
|
<!-- --> |
|
|
|
{% include 'order_info.html' %} |
|
|
|
|
|
|
|
<!-- --> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
{% include 'partials/footer.html' %} |
|
|
|
{% include 'partials/footer.html' %} |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
@ -414,12 +409,12 @@ |
|
|
|
{% endblock %} |
|
|
|
{% endblock %} |
|
|
|
|
|
|
|
|
|
|
|
{% block js_block %} |
|
|
|
{% block js_block %} |
|
|
|
<script type="text/javascript"> |
|
|
|
<script type="text/javascript"> |
|
|
|
var userId = {{ request.user.pk }}; |
|
|
|
var userId = {{ request.user.pk }}; |
|
|
|
var domain = '{{ request.META.HTTP_HOST }}'; |
|
|
|
var domain = '{{ request.META.HTTP_HOST }}'; |
|
|
|
var port = '{{ request.META.SERVER_PORT }}'; |
|
|
|
var port = '{{ request.META.SERVER_PORT }}'; |
|
|
|
|
|
|
|
|
|
|
|
</script> |
|
|
|
</script> |
|
|
|
<script type="text/javascript" src='{% static "js/chat.js" %}'></script> |
|
|
|
<script type="text/javascript" src='{% static "js/chat.js" %}'></script> |
|
|
|
<script type="text/javascript" src='{% static "js/chat_contractor.js" %}'></script> |
|
|
|
<script type="text/javascript" src='{% static "js/chat_contractor.js" %}'></script> |
|
|
|
{% endblock %} |
|
|
|
{% endblock %} |
|
|
|
|