Добавил шаблон таблицы, переписал на него таблицу выхода заказов

This commit is contained in:
2015-06-06 15:50:19 +05:00
parent a84abc0c77
commit 7712e10682
6 changed files with 73 additions and 13 deletions

View File

@@ -68,7 +68,7 @@ class Order(models.Model):
contact = models.CharField(max_length=150, null=True, blank = True) #контактное лицо
phone_num = models.CharField(max_length=150,null=True, blank = True) #контактный телефон
cancelled = models.BooleanField(default=False) #отменен
cost_items = models.ManyToManyField(CostItem, through='OrderCosts') #статьи затрат
cost_items = models.ManyToManyField(CostItem, through='OrderCosts', related_name='+', null=True, blank=True) #статьи затрат
def __unicode__(self):
return ', '.join((self.date.strftime('%d %b %Y'), self.product.name, self.address))

View File

@@ -7,10 +7,61 @@ from models import *
def editable(field_name):
return '{{% load inplace_edit %}}\n\n{{% inplace_edit "record.{field}" auto_height = 1 %}}'.format(field = field_name)
class EditableColumn(tables.TemplateColumn):
def __init__(self, field_name, *args, **kwargs):
super(tables.TemplateColumn, self).__init__(*args, **kwargs)
template = '{{% load inplace_edit %}}\n\n{{% inplace_edit "record.{field}" auto_height = 1 %}}'.format(field = field_name)
self.template_code = template
class TestTable(tables.Table):
name = tables.TemplateColumn(editable('name'),verbose_name = "Наименование")
prod_period = tables.TemplateColumn(editable('prod_period'),verbose_name = "Время производства")
name = EditableColumn('name', "Наименование")
prod_period = EditableColumn('prod_period', "Время производства")
class Meta:
model = Product
attrs = {"class": "paleblue"}
class OrdersTable(tables.Table):
date = tables.DateColumn('d/m/Y', verbose_name = 'Дата')
deadline = tables.DateColumn('d/m/Y/', verbose_name = 'Срок сдачи')
product = tables.Column(verbose_name = 'Наименование')
delivery = EditableColumn('delivery', verbose_name = 'Доставка')
lifting = EditableColumn('lifting', verbose_name = 'Подъем')
address = tables.Column(verbose_name = 'Адрес')
price = tables.Column(verbose_name = 'Стоимость')
paid = EditableColumn('paid', verbose_name = 'Оплачено')
ostatok = tables.Column(verbose_name = 'Остаток')
approved = EditableColumn('approved', verbose_name = 'Согласовано')
sketch = tables.LinkColumn('sketches', verbose_name = 'Эскиз')
executor = EditableColumn('executor', verbose_name = 'Исполнитель')
is_done = EditableColumn('is_done', verbose_name = 'Сдан')
id = tables.Column(visible = False)
designer = tables.Column(visible = False)
calls = tables.Column(visible = False)
contact = tables.Column(visible = False)
phone_num = tables.Column(visible = False)
cancelled = tables.Column(visible = False)
def render_price(self, value):
return '%0.1f' % value
def render_ostatok(self, value):
return '%0.1f' % value
class Meta:
model = Order
attrs = {'class': 'paleblue'}
sequence = ('date',
'deadline',
'product',
'delivery',
'lifting',
'address',
'price',
'paid',
'ostatok',
'approved',
'sketch',
'executor',
'is_done',)

View File

@@ -1,3 +1,5 @@
# -*- coding: utf-8 -*-
from django.shortcuts import render
from django.http import HttpResponse
from django.template import RequestContext, Context, loader
@@ -101,16 +103,21 @@ def main(request, day, month, year):
})
return HttpResponse(t.render(c))
def orders (request, archive):
def order_list(request):
table = OrdersTable(Order.objects.filter(is_done=False))
RequestConfig(request).configure(table)
return render(request, 'asuzr/table.html', {'table': table, 'title': 'Таблица выхода заказов'})
def orders(request, archive):
if archive=='0':
is_done_value=False
return order_list(request)
else:
is_done_value=True
order_list = Order.objects.filter(is_done=is_done_value).order_by('-id')
o_list = Order.objects.filter(is_done=is_done_value).order_by('-id')
t=loader.get_template('asuzr/orders.html')
c=RequestContext(request, {
'order_list': order_list,
'order_list': o_list,
'archive': is_done_value,
})
return HttpResponse(t.render(c))
@@ -130,9 +137,6 @@ def desreport(request):
return HttpResponse(t.render(c))
def table_test(request):
table = TestTable(Product.objects.all())
table = OrdersTable(Order.objects.filter(is_done=False))
RequestConfig(request).configure(table)
return render(request, 'asuzr/tabletest.html', {'table': table, 'action': Product.objects.all()[0]})
return render(request, 'asuzr/tabletest.html', {'table': table})

View File

@@ -3,6 +3,10 @@ from django.conf.urls import patterns, include, url
from django.contrib import admin
admin.autodiscover()
js_info_dict = {
'packages': ('django.conf',),
}
urlpatterns = patterns('',
# Examples:
# url(r'^$', 'record.views.home', name='home'),
@@ -15,4 +19,5 @@ urlpatterns = patterns('',
url(r'^admin/', include(admin.site.urls)),
url(r'^table/', 'asuzr.views.table_test'),
url(r'^inplaceeditform/', include('inplaceeditform.urls')),
url(r'^jsi18n$', 'django.views.i18n.javascript_catalog', js_info_dict),
)

View File

@@ -15,7 +15,7 @@
<li><a href={% url 'asuzr.views.desreport' %}>Отчет по дизайнерам</a></li>
</ul>
{% endblock %}
<H1>{% block title %}Заголовок страницы{% endblock %}</H1>
<H1>{% block title %}{{ title }}{% endblock %}</H1>
{% block page %}
Тело страницы