diff --git a/asuzr/views.py b/asuzr/views.py index 162497f..5405122 100644 --- a/asuzr/views.py +++ b/asuzr/views.py @@ -42,15 +42,13 @@ def get_orders_by_date(dt): order_list = Order.objects.filter(date=dt).order_by('id') return order_list -@login_required -def visit_view(request): - curr_date = datetime.strptime(request.GET.get('date', date.today().strftime('%d.%m.%Y')), '%d.%m.%Y') - y,m = curr_date.year, curr_date.month - day_in_month = calendar.monthrange(y,m)[1] - month_days = {i+1: {'date': custom_date(y,m,i+1)} for i in range(day_in_month)} - sdate = date(y,m,1) - edate = date(y,m,day_in_month) +def get_attendance_table(year, month, prefix): + day_in_month = calendar.monthrange(year,month)[1] + sdate = date(year,month,1) + edate = date(year,month,day_in_month) + month_days = {i+1: {'date': custom_date(year,month,i+1)} for i in range(day_in_month)} + attend_list = Attendance.objects.filter(date__range = (sdate,edate)) attend_sum = attend_list.aggregate(Sum('calls'), Sum('visits')) for attend in attend_list: @@ -61,8 +59,6 @@ def visit_view(request): order_list = order_list.values('date') order_list = order_list.annotate(Count('product'), Sum('price')) - print order_sum - for order in order_list: month_days[order['date'].day]['order'] = order @@ -75,16 +71,28 @@ def visit_view(request): else: month_days[day]['designer'] = designer - table = VisitTable(month_days.values()) - RequestConfig(request, paginate={'per_page': 32}).configure(table) + table = VisitTable(month_days.values(), prefix = prefix) + table.verbose_name = 'Сводная информация' table.set_summaries({ 'calls': attend_sum['calls__sum'], 'visits': attend_sum['visits__sum'], 'orders': order_sum['product__count'], 'cost': order_sum['price__sum'], }) + + return table + +@login_required +def visit_view(request): + curr_date = datetime.strptime(request.GET.get('date', date.today().strftime('%d.%m.%Y')), '%d.%m.%Y') + attendance_table = get_attendance_table(curr_date.year, curr_date.month, 'attendance-') + RequestConfig(request, paginate={'per_page': 32}).configure(attendance_table) title = 'Таблица посещаемости на %s г.' % curr_date.strftime('%B %Y') - return render(request, 'asuzr/table.html', {'table': table, 'title': title}) + return render(request, 'asuzr/table3.html', { + 'table1': attendance_table, + 'table2': attendance_table, + 'table3': attendance_table, + 'title': title}) @login_required def main(request, day, month, year): diff --git a/templates/asuzr/base.html b/templates/asuzr/base.html index 3652da5..69d7f6a 100644 --- a/templates/asuzr/base.html +++ b/templates/asuzr/base.html @@ -29,6 +29,9 @@ table.paleblue tr.weekend { background-color: #FFE4E1 } + .inline { + display: inline-block; + } diff --git a/templates/asuzr/table3.html b/templates/asuzr/table3.html new file mode 100644 index 0000000..afac64e --- /dev/null +++ b/templates/asuzr/table3.html @@ -0,0 +1,10 @@ +{% extends "asuzr/base.html" %} +{% load inplace_edit %} +{% load render_table from django_tables2 %} + +{% block page %} +

{{ table1.verbose_name }}

{% render_table table1 %}
+

{{ table2.verbose_name }}

{% render_table table2 %}
+

{{ table3.verbose_name }}

{% render_table table3 %}
+{% endblock %} + diff --git a/templates/asuzr/weekend_table.html b/templates/asuzr/weekend_table.html index 0b167f9..88d2dab 100644 --- a/templates/asuzr/weekend_table.html +++ b/templates/asuzr/weekend_table.html @@ -56,5 +56,8 @@ {% endnospaceless %} {% endblock table %} +{% if table.page %} + +{% endif %} {% endspaceless %}