From 66abc18dbf6117fe72ce77bbc0de2b160cf82041 Mon Sep 17 00:00:00 2001 From: "Denis V. Dedkov" Date: Fri, 19 Jun 2015 19:51:02 +0500 Subject: [PATCH] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BA=D1=83=20=D1=81=20=D0=BD?= =?UTF-8?q?=D0=B0=D1=81=D0=BB=D0=B5=D0=B4=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=D0=BC=20=D0=BA=D0=BB=D0=B0=D1=81=D1=81=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- asuzr/tables.py | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/asuzr/tables.py b/asuzr/tables.py index 0378764..60c94fb 100644 --- a/asuzr/tables.py +++ b/asuzr/tables.py @@ -8,7 +8,6 @@ from models import * class EditableColumn(tables.TemplateColumn): def __init__(self, field_name, object_name = '', *args, **kwargs): - super(tables.TemplateColumn, self).__init__(*args, **kwargs) template = ''' {{{{% load inplace_edit %}}}} @@ -26,12 +25,25 @@ class EditableColumn(tables.TemplateColumn): {{% endif %}} ''' template = template.format(main_part = main_part) - - self.template_code = template.format(field = field_name, object_name = object_name) + template = template.format(field = field_name, object_name = object_name) + + super(EditableColumn, self).__init__(template, *args, **kwargs) + +class ColoredEditableColumn(EditableColumn): + def __init__(self, field_name, object_name = '', condition_field = None, *args, **kwargs): + super(ColoredEditableColumn, self).__init__(field_name, object_name, *args, **kwargs) + self.condition_field = condition_field + + def render(self, record, **kwargs): + if self.condition_field != None and eval('record.%s' % self.condition_field): + self.attrs = {'th': {'bgcolor': '#FFE4E1'}} + else: + self.attrs = {} + + return super(ColoredEditableColumn, self).render(record, **kwargs) class ThumbnailColumn(tables.TemplateColumn): def __init__(self, field_name, *args, **kwargs): - super(tables.TemplateColumn, self).__init__(*args, **kwargs) template = ''' {{% load thumbnail %}} @@ -39,7 +51,7 @@ class ThumbnailColumn(tables.TemplateColumn): {{% endthumbnail %}} '''.format(field = field_name) - self.template_code = template + super(ThumbnailColumn, self).__init__(template, *args, **kwargs) class OrdersTable(tables.Table): date = tables.DateColumn('d/m/Y', verbose_name = 'Дата') @@ -82,7 +94,7 @@ class OrdersTable(tables.Table): exclude = ('id', 'calls', 'contact', 'phone_num', 'cancelled', 'designer', ) class ArchiveOrdersTable(OrdersTable): - calls = EditableColumn('calls', verbose_name = 'Обзвон') + calls = ColoredEditableColumn('calls', condition_field = 'calls_color', verbose_name = 'Обзвон') class Meta: attrs = {'class': 'paleblue'}