diff --git a/asuzr/tables.py b/asuzr/tables.py index 5a57d58..2ae7fec 100644 --- a/asuzr/tables.py +++ b/asuzr/tables.py @@ -134,3 +134,13 @@ class VisitTable(tables.Table): class Meta: attrs = {'class': 'paleblue'} + +class ProdPlanTable(tables.Table): + date = tables.Column(verbose_name = 'Дата') + week_day = tables.Column(verbose_name = 'День недели', accessor = 'date.weekday_name') + executor = EditableColumn('executor', 'prodplan',verbose_name = 'Исполнитель') + order = EditableColumn('order', 'prodplan', verbose_name = 'Заказ') + action = EditableColumn('action', 'prodplan', verbose_name = 'Действие') + + class Meta: + attrs = {'class': 'paleblue'} \ No newline at end of file diff --git a/asuzr/views.py b/asuzr/views.py index 6647c6a..bf5d491 100644 --- a/asuzr/views.py +++ b/asuzr/views.py @@ -8,6 +8,7 @@ from asuzr.models import Attendance from asuzr.models import Order from asuzr.models import OrderPlan from asuzr.models import Schedule +from asuzr.models import ProdPlan from datetime import datetime, date, timedelta import calendar from django.db.models import Count, Sum @@ -70,8 +71,6 @@ def visit_view(request): month_days[day]['designer'] = '%s, %s' % (month_days[day]['designer'], designer) else: month_days[day]['designer'] = designer - - print month_days table = VisitTable(month_days.values()) RequestConfig(request, paginate={'per_page': 32}).configure(table) @@ -188,3 +187,23 @@ def production_table(request, order_id): 'cost_items' : cost_items, }) return HttpResponse(t.render(c)) + +@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 + 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)} + + prodplan_list = ProdPlan.objects.filter(start_date__range = (sdate,edate)) + + for prodplan in prodplan_list: + week_days[prodplan.start_date.weekday()]['prodplan'] = prodplan + + table = ProdPlanTable(week_days.values()) + title = u'Производственный план на %s - %s' % (sdate.strftime('%d.%m.%Y'), edate.strftime('%d.%m.%Y')) + RequestConfig(request).configure(table) + return render(request, 'asuzr/table.html', {'table': table, 'title': title}) diff --git a/record/urls.py b/record/urls.py index 3159aab..ca3f3ee 100644 --- a/record/urls.py +++ b/record/urls.py @@ -20,6 +20,7 @@ urlpatterns = patterns('', url(r'^desreport/$', 'asuzr.views.desreport'), url(r'^production_table/(?P\d+)/$', 'asuzr.views.production_table'), url(r'^sketches/(?P\d+)/$', 'asuzr.views.sketches'), + url(r'^prodplan/$', 'asuzr.views.prod_plan_view'), url(r'^admin/', include(admin.site.urls)), url(r'^inplaceeditform/', include('inplaceeditform.urls')), url(r'^accounts/login/$', login), diff --git a/templates/asuzr/base.html b/templates/asuzr/base.html index f880244..c691282 100644 --- a/templates/asuzr/base.html +++ b/templates/asuzr/base.html @@ -34,6 +34,7 @@
  • Таблица выхода заказов
  • Архивная таблица
  • Отчет по дизайнерам
  • +
  • Производственный план
  • {% if request.user.is_staff %}
  • Администрирование
  • {% endif %}