#ARC-18 Add middleware LAst visit

remotes/origin/PR-39
Mukhtar 10 years ago
parent 8ea083dec6
commit d531391302
  1. 2
      archilance/settings/base.py
  2. 1
      chat/templates/chat_contractor.html
  3. 7
      chat/templates/chat_customer.html
  4. 3
      chat/views.py
  5. 5
      common/middleware.py
  6. 2
      users/admin.py
  7. 19
      wallets/signals.py
  8. 10
      wallets/views.py

@ -68,7 +68,7 @@ MIDDLEWARE_CLASSES = [
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
# 'common.middleware.SetLastVisitMiddleware',
'common.middleware.SetLastVisitMiddleware',
]
ROOT_URLCONF = 'archilance.urls'

@ -307,7 +307,6 @@
},
dataType: 'json',
done: function (e, data) {
;
$.each(data.result.files, function (index, file) {
var currentValue = $("#documentSendIds").val();
currentValue += file.id + ';';

@ -412,8 +412,6 @@
$("#order-stages").on('click', "#addStagesForm", function (e) {
e.preventDefault();
$(".new-stages-form").each(function (i, v) {
console.log($(this).serialize());
$.ajax({
url: '/api/stages/',
type: 'POST',
@ -457,7 +455,6 @@
var currentOrderId = $(this).attr('data-order-id');
var currentRecipentId = $(this).attr('data-recipent-id');
var secureOrder = true
getStages(currentOrderId,userId,currentRecipentId,secureOrder);
socket.send_stages_approve({
"format_type": "approve_stages",
@ -467,7 +464,9 @@
"order_id": currentOrderId,
}
});
setTimeout(function () {
getStages(currentOrderId,userId,currentRecipentId,secureOrder);
}, 1000);
});

@ -36,8 +36,7 @@ class ChatUserView(LoginRequiredMixin, View):
chat_messages = Message.objects.filter(Q(sender=request.user.pk) | Q(recipent=request.user.pk))
orders = request.user.projects.select_related('order').exclude(order__contractor__isnull=True)
transaction = Transaction.objects.get_or_create(customer=request.user, type='reservation')
print(transaction)
transaction = Transaction.objects.get_or_create(customer=request.user, type='reservation', complete=False)
self.template_name = 'chat_customer.html'
return render(request, self.template_name, {'contacts_users': contacts_users,
'chat_messages': chat_messages,

@ -5,7 +5,8 @@ from users.models import User
class SetLastVisitMiddleware(object):
def process_response(self, request, response):
if request.user.is_authenticated():
User.objects.filter(pk=request.user.pk).update(last_time_visit=now())
if hasattr(request,'user'):
if request.user.is_authenticated():
User.objects.filter(pk=request.user.pk).update(last_time_visit=now())
return response

@ -5,7 +5,7 @@ from .models import User, Team, UserFinancialInfo, ContractorResume, ContractorR
class UserAdmin(admin.ModelAdmin):
readonly_fields = ('pk',)
list_display = ('username', 'email', 'get_groups', 'cro', 'is_active', 'rating',)
list_display = ('username', 'email', 'get_groups', 'cro', 'is_active', 'rating','last_time_visit',)
ordering = ('-rating',)
def get_groups(self, obj):

@ -4,6 +4,7 @@ from django.core.mail import send_mail, EmailMultiAlternatives
from django.template.loader import get_template, render_to_string
from .models import WithDraw, InvoiceHistory, Transaction
from projects.models import Stage
@receiver(post_save, sender=WithDraw)
@ -32,7 +33,21 @@ def add_invoice_history(sender, instance, created, **kwargs):
@receiver(post_save, sender=Transaction)
def reserve_stages(sender, instance, created, **kwargs):
if 'reservation' in instance.type:
pass
if 'reservation' in instance.type and instance.complete:
inv_history = InvoiceHistory()
inv_history.comment = 'Резервирование средств за этапы'
inv_history.sum = instance.sum
inv_history.user = instance.customer
inv_history.save()
stages_ids_raw = instance.stages_id
if stages_ids_raw:
stages_ids = [s for s in stages_ids_raw.split(';') if s]
for pk in stages_ids:
stage = Stage.objects.get(pk=pk)
stage.is_paid = True
stage.save()

@ -1,3 +1,4 @@
import logging
from django.conf import settings
from django.contrib import messages
from django.contrib.auth.mixins import LoginRequiredMixin
@ -33,7 +34,7 @@ class ScoreView(LoginRequiredMixin, View):
def get(self, request, *args, **kwargs):
# transaction = Transaction.objects.get_or_create(customer=request.user, complete=False)
transaction = Transaction.objects.get_or_create(customer=request.user, type='add')
transaction = Transaction.objects.get_or_create(customer=request.user, type='add', complete=False)
user_score = get_object_or_404(User.objects, pk=kwargs.get('pk'))
current_sum_info = InvoiceHistory.objects.filter(user=user_score).aggregate(Sum('sum'))
user_score_balance = current_sum_info['sum__sum'] or 0
@ -152,11 +153,14 @@ class TmpPaymentAvisoView(View):
def post(self, request, *args, **kwargs):
form = self.form_class(request.POST)
logging.debug(form.data)
if form.is_valid():
transaction = form.cleaned_data.get('transaction_id')
transaction_id = form.data.get('transactionId')
transaction = Transaction.objects.get(pk=int(transaction_id))
logging.debug(form.cleaned_data)
transaction.complete = True
transaction.sum = form.cleaned_data.get('orderSumAmount')
transaction.stages_id = form.data.get('stagesId')
transaction.save()
res = """<?xml version="1.0" encoding="utf-8"?>

Loading…
Cancel
Save