diff --git a/asuzr/views.py b/asuzr/views.py index 2329004..5ab78f3 100644 --- a/asuzr/views.py +++ b/asuzr/views.py @@ -5,7 +5,9 @@ from asuzr.models import Product from asuzr.models import Attendance from asuzr.models import Order from asuzr.models import OrderPlan -from datetime import datetime, date, time +from datetime import datetime, date +from django.db.models import Count, Sum + # Create your views here. def prod_list(request): @@ -83,4 +85,20 @@ def orders (request, archive): }) return HttpResponse(t.render(c)) +def desreport(request): + start_date = request.GET.get('sdate', date.today().strftime('%d.%m.%y')) + 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').annotate(Sum('price'),Count('designer')) + t=loader.get_template('asuzr/desreport.html') + c=Context({ + 'des_list' : des_list, + 'start_date' : start_date, + 'end_date' : end_date, + }) + return HttpResponse(t.render(c)) + + + diff --git a/record/urls.py b/record/urls.py index 938d4fb..46242db 100644 --- a/record/urls.py +++ b/record/urls.py @@ -11,5 +11,6 @@ urlpatterns = patterns('', url(r'^product/(?P\d+)/$', 'asuzr.views.prod_detail'), url(r'^main/(?P\d+)/(?P\d+)/(?P\d+)/$', 'asuzr.views.main', name='asuzr-main'), url(r'^orders/(?P\d+)/$', 'asuzr.views.orders'), + url(r'^desreport/$', 'asuzr.views.desreport'), url(r'^admin/', include(admin.site.urls)), ) diff --git a/templates/asuzr/desreport.html b/templates/asuzr/desreport.html new file mode 100644 index 0000000..1f4ee00 --- /dev/null +++ b/templates/asuzr/desreport.html @@ -0,0 +1,29 @@ + + + + + + + +

Отчет по дизайнерам за {{start_date}} - {{end_date}}

+ + {% if des_list %} +
    +
+ + + + + {% for des in des_list %} + + + + + + {% endfor %} + + {% else %} +

Список заказов пуст

+ {% endif %} + + \ No newline at end of file
ДизайнерВсего заказовОбщая сумма
{{des.designer__first_name}}{{des.designer__count}}{{des.price__sum}}