Исправил ошибку с наследованием классов

This commit is contained in:
2015-06-19 19:51:02 +05:00
parent c37420c386
commit 66abc18dbf

View File

@@ -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):
<img src="{{{{ im.url }}}}">
{{% 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'}