Добавлены формы для выбора дат на страницы Таблица посещаемости, Производственный план, Отчет по дизайнерам. Исправлена ошибка в формировании списка дат в prod_plan_view
This commit is contained in:
@@ -1,5 +1,11 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from django import forms
|
||||
from datetime import date
|
||||
from django.contrib.admin.widgets import AdminDateWidget
|
||||
|
||||
class DateForm (forms.Form):
|
||||
date = forms.DateField(label = 'Date')
|
||||
date = forms.DateField(widget = AdminDateWidget, label = u'Дата', initial = date.today)
|
||||
|
||||
class DiapDateForm (forms.Form):
|
||||
sdate = forms.DateField(widget = AdminDateWidget, label = u'С', initial = date.today)
|
||||
edate = forms.DateField(widget = AdminDateWidget, label = u'по', initial = date.today)
|
||||
|
||||
@@ -103,7 +103,7 @@ def get_day_orders_table(date, prefix):
|
||||
@login_required
|
||||
def visit_view(request):
|
||||
curr_date = datetime.strptime(request.GET.get('date', date.today().strftime('%d.%m.%Y')), '%d.%m.%Y')
|
||||
form = DateForm(request.GET, initial = {'date': curr_date})
|
||||
form = DateForm({'date':curr_date})
|
||||
attendance_table, add_info = get_attendance_table(curr_date.year, curr_date.month, 'attendance-')
|
||||
RequestConfig(request, paginate={'per_page': 32}).configure(attendance_table)
|
||||
|
||||
@@ -225,15 +225,16 @@ def orders(request, archive):
|
||||
|
||||
@login_required
|
||||
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')
|
||||
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')
|
||||
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 = u'Отчет по дизайнерам за '+' - '.join((start_date, end_date))
|
||||
form = DiapDateForm({'sdate': sdate, 'edate': edate})
|
||||
RequestConfig(request).configure(table)
|
||||
return render(request, 'asuzr/table.html', {'table': table, 'title': title})
|
||||
return render(request, 'asuzr/table.html', {'table': table, 'title': title, 'form': form})
|
||||
|
||||
@login_required
|
||||
def production_table(request, order_id):
|
||||
@@ -251,12 +252,15 @@ def production_table(request, order_id):
|
||||
@login_required
|
||||
def prod_plan_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
|
||||
y,m,d = curr_date.year, curr_date.month, curr_date.day
|
||||
wd = curr_date.weekday()
|
||||
sdate = curr_date - timedelta(days = wd)
|
||||
edate = curr_date + timedelta(days = 6-wd)
|
||||
|
||||
week_days = {i: {'date': custom_date(y,m,sdate.day+i)} for i in range(0,7)}
|
||||
days = [curr_date + timedelta(days=i) for i in range(-curr_date.weekday(), 7-curr_date.weekday())]
|
||||
print days
|
||||
|
||||
week_days = {i: {'date': custom_date(i.year,i.month,i.day)} for i in days}
|
||||
|
||||
prodplan_list = ProdPlan.objects.filter(start_date__range = (sdate,edate))
|
||||
|
||||
@@ -265,5 +269,6 @@ def prod_plan_view(request):
|
||||
|
||||
table = ProdPlanTable(week_days.values())
|
||||
title = u'Производственный план на %s - %s' % (sdate.strftime('%d.%m.%Y'), edate.strftime('%d.%m.%Y'))
|
||||
form = DateForm({'date':curr_date})
|
||||
RequestConfig(request).configure(table)
|
||||
return render(request, 'asuzr/table.html', {'table': table, 'title': title})
|
||||
return render(request, 'asuzr/table.html', {'table': table, 'title': title, 'form': form})
|
||||
|
||||
@@ -60,12 +60,13 @@
|
||||
|
||||
{% block controls %}
|
||||
{% if form %}
|
||||
<form action="/visits/" method="get">
|
||||
<form method="get">
|
||||
{{ form }}
|
||||
<input type="submit" value="OK" />
|
||||
</form>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
<div id='content'>
|
||||
<H1>{% block title %}{{ title }}{% endblock %}</H1>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user