diff --git a/.directory b/.directory deleted file mode 100644 index a38b7e4..0000000 --- a/.directory +++ /dev/null @@ -1,3 +0,0 @@ -[Dolphin] -Timestamp=2015,4,13,16,48,17 -Version=3 diff --git a/.gitignore b/.gitignore index 81be944..7b6a36d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ *swp *.pyc db* +.directory sketches/* media/* diff --git a/asuzr/models.py b/asuzr/models.py index d16e5d7..f5e660c 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 sketch(self): diff --git a/asuzr/tables.py b/asuzr/tables.py index 0fc5ae6..0e09ad8 100644 --- a/asuzr/tables.py +++ b/asuzr/tables.py @@ -91,6 +91,20 @@ class ArchiveOrdersTable(OrdersTable): class Meta: attrs = {'class': 'paleblue'} empty_text = 'Архивных заказов нет' + +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'} class SketchesTable(tables.Table): sketch_file = tables.FileColumn(verbose_name = 'Имя файла') diff --git a/asuzr/views.py b/asuzr/views.py index 085492f..58d6aea 100644 --- a/asuzr/views.py +++ b/asuzr/views.py @@ -163,14 +163,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):