diff --git a/asuzr/common.py b/asuzr/common.py index c63dcb1..f29e54b 100644 --- a/asuzr/common.py +++ b/asuzr/common.py @@ -20,4 +20,4 @@ class custom_date(date): @property def is_weekend(self): - return self.weekday() >= 5 + return self.weekday() >= 5 \ No newline at end of file diff --git a/asuzr/forms.py b/asuzr/forms.py index 099d085..f02adf5 100644 --- a/asuzr/forms.py +++ b/asuzr/forms.py @@ -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) diff --git a/asuzr/views.py b/asuzr/views.py index 2021c5e..d94fdaa 100644 --- a/asuzr/views.py +++ b/asuzr/views.py @@ -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}) diff --git a/templates/asuzr/base.html b/templates/asuzr/base.html index 8c76b19..c28f732 100644 --- a/templates/asuzr/base.html +++ b/templates/asuzr/base.html @@ -60,12 +60,13 @@ {% block controls %} {% if form %} -
{% endif %} {% endblock %} +