|
@@ -7,6 +7,17 @@ from django.contrib.admin.models import LogEntry
|
|
|
import django_tables2 as tables
|
|
import django_tables2 as tables
|
|
|
from models import *
|
|
from models import *
|
|
|
|
|
|
|
|
|
|
+class StaffLinkColumn(tables.TemplateColumn):
|
|
|
|
|
+ def __init__(self, view, *args, **kwargs):
|
|
|
|
|
+ template = '''
|
|
|
|
|
+ {{% if request.user.is_staff %}}
|
|
|
|
|
+ <a href={{% url '{view}' record.id %}}>{{{{ record.product }}}}</a>
|
|
|
|
|
+ {{% else %}}
|
|
|
|
|
+ {{{{ record.product }}}}
|
|
|
|
|
+ {{% endif %}}
|
|
|
|
|
+ '''.format(view = view)
|
|
|
|
|
+ super(StaffLinkColumn, self).__init__(template, *args, **kwargs)
|
|
|
|
|
+
|
|
|
class EditableColumn(tables.TemplateColumn):
|
|
class EditableColumn(tables.TemplateColumn):
|
|
|
def __init__(self, field_name, object_name = '', *args, **kwargs):
|
|
def __init__(self, field_name, object_name = '', *args, **kwargs):
|
|
|
template = '''
|
|
template = '''
|
|
@@ -56,9 +67,10 @@ class ThumbnailColumn(tables.TemplateColumn):
|
|
|
super(ThumbnailColumn, self).__init__(template, *args, **kwargs)
|
|
super(ThumbnailColumn, self).__init__(template, *args, **kwargs)
|
|
|
|
|
|
|
|
class OrdersTable(tables.Table):
|
|
class OrdersTable(tables.Table):
|
|
|
- date = tables.DateColumn('d/m/Y', verbose_name = 'Дата')
|
|
|
|
|
- deadline = tables.DateColumn('d/m/Y', verbose_name = 'Срок сдачи')
|
|
|
|
|
- product = tables.LinkColumn('asuzr.views.production_table', verbose_name = 'Наименование', args=[tables.utils.A('pk')])
|
|
|
|
|
|
|
+ date = tables.DateColumn('d.m.Y', verbose_name = 'Дата')
|
|
|
|
|
+ deadline = tables.DateColumn('d.m.Y', verbose_name = 'Срок сдачи')
|
|
|
|
|
+ #product = tables.LinkColumn('asuzr.views.production_table', verbose_name = 'Наименование', args=[tables.utils.A('pk')])
|
|
|
|
|
+ product = StaffLinkColumn(view = 'asuzr.views.production_table', verbose_name = 'Наименование')
|
|
|
delivery = EditableColumn('delivery', verbose_name = 'Доставка')
|
|
delivery = EditableColumn('delivery', verbose_name = 'Доставка')
|
|
|
lifting = EditableColumn('lifting', verbose_name = 'Подъем')
|
|
lifting = EditableColumn('lifting', verbose_name = 'Подъем')
|
|
|
address = tables.Column(verbose_name = 'Адрес')
|
|
address = tables.Column(verbose_name = 'Адрес')
|
|
@@ -147,6 +159,7 @@ class VisitTable(tables.Table):
|
|
|
idx = indexes[s]
|
|
idx = indexes[s]
|
|
|
self.summary[idx] = summaries[s]
|
|
self.summary[idx] = summaries[s]
|
|
|
|
|
|
|
|
|
|
+
|
|
|
def render_orders(self, value, record, column):
|
|
def render_orders(self, value, record, column):
|
|
|
value = 0 if value == None else value
|
|
value = 0 if value == None else value
|
|
|
return mark_safe('<a href="%s?date=%s">%s</a>' % (
|
|
return mark_safe('<a href="%s?date=%s">%s</a>' % (
|
|
@@ -189,7 +202,7 @@ class DayOrdersTable(OrdersTable):
|
|
|
'designer',
|
|
'designer',
|
|
|
'deadline',
|
|
'deadline',
|
|
|
)
|
|
)
|
|
|
- template = 'asuzr/totals_table.html'
|
|
|
|
|
|
|
+ template = 'asuzr/table_with_form.html'
|
|
|
|
|
|
|
|
class ProdPlanTable(tables.Table):
|
|
class ProdPlanTable(tables.Table):
|
|
|
date = tables.Column(verbose_name = 'Дата')
|
|
date = tables.Column(verbose_name = 'Дата')
|
|
@@ -203,14 +216,11 @@ class ProdPlanTable(tables.Table):
|
|
|
|
|
|
|
|
class ProductionTable(tables.Table):
|
|
class ProductionTable(tables.Table):
|
|
|
cost_item = tables.Column(verbose_name = 'Комплектующие')
|
|
cost_item = tables.Column(verbose_name = 'Комплектующие')
|
|
|
- value = tables.Column(verbose_name = 'Стоимость')
|
|
|
|
|
|
|
+ value = EditableColumn('value', verbose_name = 'Стоимость')
|
|
|
|
|
|
|
|
summary = ['Итого затрат', 0]
|
|
summary = ['Итого затрат', 0]
|
|
|
balance = ['Прибыль', 0]
|
|
balance = ['Прибыль', 0]
|
|
|
|
|
|
|
|
- def render_value(self, value):
|
|
|
|
|
- return '%0.2f' % value
|
|
|
|
|
-
|
|
|
|
|
def set_summary(self, value):
|
|
def set_summary(self, value):
|
|
|
self.summary[1] = value
|
|
self.summary[1] = value
|
|
|
|
|
|