From ca1666442b0fe36ec6c10d46e6a594bd60d85a62 Mon Sep 17 00:00:00 2001 From: Anastasia Date: Tue, 30 Jun 2015 15:34:22 +0500 Subject: [PATCH 1/2] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D1=8B=20=D1=84=D0=BE=D1=80=D0=BC=D1=8B=20=D0=B4=D0=BB?= =?UTF-8?q?=D1=8F=20=D0=B2=D1=8B=D0=B1=D0=BE=D1=80=D0=B0=20=D0=B4=D0=B0?= =?UTF-8?q?=D1=82=20=D0=BD=D0=B0=20=D1=81=D1=82=D1=80=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D1=86=D1=8B=20=D0=A2=D0=B0=D0=B1=D0=BB=D0=B8=D1=86=D0=B0=20?= =?UTF-8?q?=D0=BF=D0=BE=D1=81=D0=B5=D1=89=D0=B0=D0=B5=D0=BC=D0=BE=D1=81?= =?UTF-8?q?=D1=82=D0=B8,=20=D0=9F=D1=80=D0=BE=D0=B8=D0=B7=D0=B2=D0=BE?= =?UTF-8?q?=D0=B4=D1=81=D1=82=D0=B2=D0=B5=D0=BD=D0=BD=D1=8B=D0=B9=20=D0=BF?= =?UTF-8?q?=D0=BB=D0=B0=D0=BD,=20=D0=9E=D1=82=D1=87=D0=B5=D1=82=20=D0=BF?= =?UTF-8?q?=D0=BE=20=D0=B4=D0=B8=D0=B7=D0=B0=D0=B9=D0=BD=D0=B5=D1=80=D0=B0?= =?UTF-8?q?=D0=BC.=20=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B0=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BA=D0=B0=20=D0=B2=20?= =?UTF-8?q?=D1=84=D0=BE=D1=80=D0=BC=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD?= =?UTF-8?q?=D0=B8=D0=B8=20=D1=81=D0=BF=D0=B8=D1=81=D0=BA=D0=B0=20=D0=B4?= =?UTF-8?q?=D0=B0=D1=82=20=D0=B2=20prod=5Fplan=5Fview?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- asuzr/common.py | 2 +- asuzr/forms.py | 8 +++++++- asuzr/views.py | 23 ++++++++++++++--------- templates/asuzr/base.html | 3 ++- 4 files changed, 24 insertions(+), 12 deletions(-) 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 %} -
+ {{ form }}
{% endif %} {% endblock %} +

{% block title %}{{ title }}{% endblock %}

From b42769e61745af1d7477587c5f4054a8e8e940f0 Mon Sep 17 00:00:00 2001 From: Anastasia Date: Tue, 30 Jun 2015 15:42:37 +0500 Subject: [PATCH 2/2] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=20=D0=BF=D0=BE=D1=80=D1=8F=D0=B4=D0=BE=D0=BA=20?= =?UTF-8?q?=D0=B2=20=D1=84=D0=BE=D1=80=D0=BC=D0=B8=D1=80=D0=BE=D0=B2=D0=B0?= =?UTF-8?q?=D0=BD=D0=B8=D0=B8=20=D1=81=D0=BF=D0=B8=D1=81=D0=BA=D0=B0=20?= =?UTF-8?q?=D0=B4=D0=B0=D1=82=20=D0=B2=20prod=5Fplan=5Fview?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- asuzr/views.py | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/asuzr/views.py b/asuzr/views.py index d94fdaa..cb60329 100644 --- a/asuzr/views.py +++ b/asuzr/views.py @@ -257,11 +257,9 @@ def prod_plan_view(request): sdate = curr_date - timedelta(days = wd) edate = curr_date + timedelta(days = 6-wd) - 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} - + days = [sdate + timedelta(days=i) for i in range(0,7)] + week_days = {i.weekday(): {'date': custom_date(i.year,i.month,i.day)} for i in days} + print week_days prodplan_list = ProdPlan.objects.filter(start_date__range = (sdate,edate)) for prodplan in prodplan_list: