Добавлены формы для выбора дат на страницы Таблица посещаемости, Производственный план, Отчет по дизайнерам. Исправлена ошибка в формировании списка дат в prod_plan_view

This commit is contained in:
Anastasia
2015-06-30 15:34:22 +05:00
parent 5746ae2024
commit ca1666442b
4 changed files with 24 additions and 12 deletions

View File

@@ -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)

View File

@@ -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})

View File

@@ -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>