From ab930430bff8800cddd5d1fca14d5acb0538cd2b Mon Sep 17 00:00:00 2001 From: Anastasia Date: Wed, 10 Jun 2015 22:21:36 +0500 Subject: [PATCH] =?UTF-8?q?=D0=9E=D1=82=D1=87=D0=B5=D1=82=20=D0=BF=D0=BE?= =?UTF-8?q?=20=D0=B4=D0=B8=D0=B7=D0=B0=D0=B9=D0=BD=D0=B5=D1=80=D0=B0=D0=BC?= =?UTF-8?q?=20=D0=BF=D0=B5=D1=80=D0=B5=D0=B2=D0=B5=D0=B4=D0=B5=D0=BD=20?= =?UTF-8?q?=D0=BD=D0=B0=20table2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- asuzr/models.py | 2 +- asuzr/tables.py | 14 ++++++++++++++ asuzr/views.py | 13 +++++-------- 3 files changed, 20 insertions(+), 9 deletions(-) diff --git a/asuzr/models.py b/asuzr/models.py index f70c7bb..51ab9ac 100644 --- a/asuzr/models.py +++ b/asuzr/models.py @@ -86,7 +86,7 @@ class Order(models.Model): @property def approved_date(self): - return self.approved.strftime("%d/%m/%Y") + return self.approved.strftime("%d/%m/%Y %H:%M") @property def ostatok(self): diff --git a/asuzr/tables.py b/asuzr/tables.py index 68d64ef..b2b493a 100644 --- a/asuzr/tables.py +++ b/asuzr/tables.py @@ -71,3 +71,17 @@ class ArchiveOrdersTable(OrdersTable): class Meta: attrs = {'class': 'paleblue'} + +class DesignerTable(tables.Table): + full_name = tables.Column(empty_values=(), verbose_name = 'Дизайнер') + designer__count = tables.Column(verbose_name = 'Всего заказов') + price__sum = tables.Column(verbose_name = 'Общая сумма') + + def render_full_name(self, record): + return " ".join((record['designer__first_name'], record['designer__last_name'])) + + def render_sum_price(self, value): + return '%0.1f' % value + + class Meta: + attrs = {'class': 'paleblue'} diff --git a/asuzr/views.py b/asuzr/views.py index d222342..e204f10 100644 --- a/asuzr/views.py +++ b/asuzr/views.py @@ -120,14 +120,11 @@ def desreport(request): sdate = datetime.strptime(start_date, '%d.%m.%y') end_date = request.GET.get('edate', date.today().strftime('%d.%m.%y')) edate = datetime.strptime(end_date, '%d.%m.%y') - des_list = Order.objects.filter(cancelled=False, date__range=(sdate,edate)).values('designer__first_name','designer__last_name').annotate(Sum('price'),Count('designer')) - t=loader.get_template('asuzr/desreport.html') - c=RequestContext(request,{ - 'des_list' : des_list, - 'start_date' : start_date, - 'end_date' : end_date, - }) - return HttpResponse(t.render(c)) + Table = DesignerTable + table = Table(Order.objects.filter(cancelled=False, date__range=(sdate,edate)).values('designer__first_name','designer__last_name').annotate(Sum('price'),Count('designer'))) + title = 'Отчет по дизайнерам за '+' - '.join((start_date, end_date)) + RequestConfig(request).configure(table) + return render(request, 'asuzr/table.html', {'table': table, 'title': title}) @login_required def production_table(request, order_id):