Explorar el Código

Merge branch 'master' of ssh://192.168.100.6/repo/record

Conflicts:
	asuzr/tables.py
Denis V. Dedkov hace 10 años
padre
commit
c9e24fd874
Se han modificado 5 ficheros con 21 adiciones y 12 borrados
  1. 0 3
      .directory
  2. 1 0
      .gitignore
  3. 1 1
      asuzr/models.py
  4. 14 0
      asuzr/tables.py
  5. 5 8
      asuzr/views.py

+ 0 - 3
.directory

@@ -1,3 +0,0 @@
-[Dolphin]
-Timestamp=2015,4,13,16,48,17
-Version=3

+ 1 - 0
.gitignore

@@ -1,5 +1,6 @@
 *swp
 *.pyc
 db*
+.directory
 sketches/*
 media/*

+ 1 - 1
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):

+ 14 - 0
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 = 'Имя файла')

+ 5 - 8
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):