From 1f3abd020460c68fb7a9247b26383be539dc5f19 Mon Sep 17 00:00:00 2001 From: Mukhtar Date: Fri, 23 Sep 2016 18:38:17 +0300 Subject: [PATCH] add links --- chat/templates/chat_contractor.html | 9 +-- common/middleware.py | 20 +++++- projects/templates/project_detail.html | 89 +++++++++++++++++++++++-- users/models.py | 2 +- users/templates/contractor_filter.html | 4 +- users/templates/contractor_office.html | 2 +- users/templates/contractor_profile.html | 8 +-- 7 files changed, 111 insertions(+), 23 deletions(-) diff --git a/chat/templates/chat_contractor.html b/chat/templates/chat_contractor.html index 9994ec0..60de835 100644 --- a/chat/templates/chat_contractor.html +++ b/chat/templates/chat_contractor.html @@ -177,14 +177,7 @@
-
-
-

ArturBaybulatov

- 2016-09-07 17:09:52 -
-

Приглашаю в группу http://proekton.com/users/teams/128/

- присоединиться -
+
diff --git a/common/middleware.py b/common/middleware.py index a603ac9..3124f39 100644 --- a/common/middleware.py +++ b/common/middleware.py @@ -1,12 +1,30 @@ +import datetime from django.utils.timezone import now from users.models import User +from ratings.models import HistoryRating class SetLastVisitMiddleware(object): def process_response(self, request, response): - if hasattr(request,'user'): + if hasattr(request, 'user'): if request.user.is_authenticated(): User.objects.filter(pk=request.user.pk).update(last_time_visit=now()) return response + +class SetRatingToUserEveryDay(object): + + def process_response(self, request, response): + if hasattr(request, 'user'): + today_date = datetime.datetime.now().date() + hs_last = HistoryRating.objects.filter(user=request.user, type='visit_site').order_by('-created').first() + if not hs_last or hs_last.created.date() != today_date: + hs_new = HistoryRating() + hs_new.type = 'visit_site' + hs_new.rating = 1 + hs_new.user = request.user + hs_new.description = 'Балл за вход на сайт' + hs_new.save() + return response + diff --git a/projects/templates/project_detail.html b/projects/templates/project_detail.html index 13e19ce..4e8c6fd 100644 --- a/projects/templates/project_detail.html +++ b/projects/templates/project_detail.html @@ -291,7 +291,7 @@ {% csrf_token %} - отказ + отказ
{% if project.order.contractor and project.order.contractor == answer.author %} @@ -673,7 +673,13 @@
{% csrf_token %} - + предложить проект
@@ -688,7 +694,11 @@
{% csrf_token %} - отказ + отказ
@@ -867,7 +877,12 @@
{% csrf_token %} - + предложить проект
@@ -882,7 +897,13 @@
{% csrf_token %} - отказ + отказ +
@@ -1011,7 +1032,12 @@
- {% ratings_widget answer.author.pk 'restList2' %} + {% if answer.author|class_name == 'User' %} + {% ratings_widget answer.author.pk 'restList2' %} + {% elif answer.author|class_name == 'Team'%} + {% ratings_team_widget answer.author.pk 'restList2' %} + {% endif %} + {% if answer.author|class_name == 'User' and answer.author.cro %}
@@ -1168,6 +1194,57 @@ $.cookie('projectAnswerFormVisible', 'true', {expires: new Date(new Date().getTime() + 300000)}) } } + + + $('.offer-order-contractor').on('click', function(e){ + e.preventDefault() + + var senderId = $(this).attr('data-sender-id') + var recipentId = $(this).attr('data-recipent-id') + var orderId = $(this).attr('data-order-id') + + var msg = 'Вас выбрали исполнителем для заказа ' + + socketMain.add_message({ + format_type: 'add_message_contact', + message_type: 'offer_order', + data: { + sender_id: String(senderId), + recipent_id: String(recipentId), + order_id: String(orderId), + chat_message: msg, + }, + }) + + $(this).closest('form').submit() + + + }) + + $('.reject-project-link').on('click', function(e){ + e.preventDefault(); + var projectId = $(this).attr('data-project-id') + var msg = 'Вам отказано по проекту " ' + $(this).attr("data-order-name") + '" Перейти' + var customerId = $(this).attr('data-sender-id') + var contractorId = $(this).attr('data-recipent-id') + socketMain.add_message({ + format_type: 'add_message_contact', + message_type: 'reject_order', + data: { + sender_id: String(customerId), + recipent_id: String(contractorId), + chat_message: msg, + }, + }) + $(this).closest('form').submit(); + + }) + + $('.reject-project-link-contractor').on('click', function(e){ + e.preventDefault(); + $(this).closest('form').submit(); + + }) window.toggleProjectAnswerForm = toggleProjectAnswerForm }()) diff --git a/users/models.py b/users/models.py index 3a31d36..a46992f 100644 --- a/users/models.py +++ b/users/models.py @@ -169,7 +169,7 @@ class User(AbstractBaseUser, PermissionsMixin): return self.email def get_full_name(self): - full_name = self.first_name + ' ' + self.last_name + full_name = self.first_name + ' ' + self.last_name + ' ' + self.patronym return full_name or self.username def get_profile_image(self): diff --git a/users/templates/contractor_filter.html b/users/templates/contractor_filter.html index 96d13c9..4f83f33 100644 --- a/users/templates/contractor_filter.html +++ b/users/templates/contractor_filter.html @@ -459,7 +459,7 @@ if (project.order.team && project.order.team.id === teamId) { window.location.href = projectOrderChatUrl } else { - var msg = 'Вашей команде предлагается проект http://{{ request.get_host }}' + projectUrl +'' + var msg = 'Вашей команде предлагается проект Перейти к проекту' socketMain.add_message({ format_type: 'add_message_contact', @@ -480,7 +480,7 @@ if (project.order.contractor && project.order.contractor.id === contractorId) { window.location.href = projectOrderChatUrl } else { - var msg = 'Вам предлагается проект http://{{ request.get_host }}' + projectUrl +'' + var msg = 'Вам предлагается проект Перейти к проекту' socketMain.add_message({ format_type: 'add_message_contact', diff --git a/users/templates/contractor_office.html b/users/templates/contractor_office.html index ea74d44..abba5e7 100644 --- a/users/templates/contractor_office.html +++ b/users/templates/contractor_office.html @@ -389,7 +389,7 @@ data: { sender_id: '{{ contractor.pk }}', recipent_id: String(contractor2Id), - chat_message: 'Приглашаю в группу http://{{ request.get_host }}{% url 'users:accept-team-invitation' owner_id=contractor.pk %}', + chat_message: 'Приглашаю в группу "{{ contractor.team.name }}" Присоединиться', }, }) diff --git a/users/templates/contractor_profile.html b/users/templates/contractor_profile.html index 7248a1d..f6f0ead 100644 --- a/users/templates/contractor_profile.html +++ b/users/templates/contractor_profile.html @@ -738,11 +738,11 @@ if (res.status === 'success') { socketMain.add_message({ format_type: 'add_message_contact', - + message_type: 'invite_team', data: { sender_id: '{{ request.user.pk }}', recipent_id: '{{ contractor.pk }}', - chat_message: 'Приглашаю в группу http://{{ request.get_host }}{% url 'users:accept-team-invitation' owner_id=request.user.pk %}', + chat_message: 'Приглашаю в группу "{{ request.user.team.name }}" Присоединиться', }, }) @@ -794,11 +794,11 @@ if (project.order.contractor && project.order.contractor.id === contractorId) { window.location.href = projectOrderChatUrl } else { - var msg = 'Вам предлагается проект http://{{ request.get_host }}' + projectUrl + var msg = 'Вам предлагается проект Перейти к проекту' socketMain.add_message({ format_type: 'add_message_contact', - + message_type: 'invite_order', data: { sender_id: String(customerId), recipent_id: String(contractorId),