import django_tables2 as tables
from dbsynce.models import *
from dbsynce.models import *
from django.contrib.auth import get_user_model
from django.utils.html import format_html
from django.utils.translation import gettext_lazy as _
class TransactionsWalletTable(tables.Table):
# id = tables.Column(order_by=True)
id = tables.Column(
verbose_name='#',
orderable=False,
attrs={
"td": {"width": "5%"}
}
)
wallet = tables.Column(
verbose_name=_('Owner'),
orderable=False,
attrs={
"td": {"width": "15%"}
}
)
name_operation = tables.Column(
verbose_name=_('Service'),
attrs={
'th': {'scope': 'col'},
"td": {"width": "20%"}
}
)
price = tables.Column(
verbose_name=_('Points'),
attrs={
"class": "row",
"td": {"width": "10%"}
}
)
date_operation = tables.Column(
verbose_name=_('Registration date'),
attrs={
"td": {"width": "30%"}
}
)
is_carried_out = tables.BooleanColumn(
verbose_name=_('Status'),
orderable=False,
yesno=_("Successful, not successful"),
attrs={
"td": {"width": "20%"}
}
)
class Meta:
# model = TransactionsWallets
attrs = {
"class": "table table-striped"
}
exclude = (
"balance_before",
"amount",
"metaservice_id",
"transaction_type",
"doc_num",
"service_id"
)
def render_name_operation(self, value, record):
return format_html(
"{}",
record.get_absolute_url(),
value
)
class PartnersTable(tables.Table):
id = tables.Column(
verbose_name=_('ID'),
attrs={
"td": {"width": "5%"}
}
)
legal_name = tables.Column(
verbose_name=_('Legal entity'),
attrs={
'th': {'scope': 'col'},
"td": {"width": "20%"}
}
)
repr = tables.Column(
accessor='repr.full_name',
order_by=('repr.first_name', 'repr.last_name'),
verbose_name=_('Responsible'),
attrs={
"td": {"width": "15%"}
}
)
status = tables.Column(
verbose_name=_('Status'),
attrs={
'th': {'scope': 'col'},
"td": {"width": "20%"}
}
)
check = tables.BooleanColumn(
verbose_name='',
attrs={
'th': {'scope': 'col'},
"td": {"width": "20%"}
}
)
# paginate_by = 10
class Meta:
model = Company
attrs = {
"class": "table table-layout-fixed"
}
exclude = (
'inn',
'kpp',
'ogrn',
'bank_name',
'bik',
'ks',
'rs',
'address',
'requirements',
'id_metaservice',
'is_global',
'is_visible',
'ticket_status'
)
def render_check(self, value, record):
if record.status == 'active':
return format_html(
'',
record.id
)
else:
return format_html(
'',
record.id
)
class ResourceTable(tables.Table):
id = tables.Column(
verbose_name=_('ID'),
attrs={
"td": {"width": "5%"}
}
)
# В user ссылка LinkColumn на страницу Аси "Информация о партнере" страница partner_information_form
user = tables.Column(
accessor='user.full_name',
order_by=('user.first_name', 'user.last_name'),
verbose_name=_('Responsible'),
attrs={
"td": {"width": "15%"}
}
)
status = tables.Column(
verbose_name=_('Status'),
attrs={
'th': {'scope': 'col'},
"td": {"width": "20%"}
}
)
check = tables.BooleanColumn(
verbose_name='',
attrs={
'th': {'scope': 'col'},
"td": {"width": "20%"}
}
)
# paginate_by = 10
class Meta:
model = Resource
attrs = {
"class": "table table-layout-fixed"
}
exclude = (
'id_metaservice',
'resoure_type',
'requirements',
'is_global',
'is_visible',
'ticket_status'
)
def render_check(self, value, record):
if record.status == 'active':
return format_html(
'',
record.id
)
else:
return format_html(
'',
record.id
)
class ProviderTable(tables.Table):
id = tables.Column(
verbose_name=_('ID'),
attrs={
"td": {"width": "5%"}
}
)
user = tables.Column(
accessor='user.full_name',
order_by=('user.first_name', 'user.last_name'),
verbose_name=_('Full Name'),
attrs={
"td": {"width": "15%"}
}
)
status = tables.Column(
verbose_name=_('Status'),
attrs={
'th': {'scope': 'col'},
"td": {"width": "20%"}
}
)
check = tables.BooleanColumn(
verbose_name='',
attrs={
'th': {'scope': 'col'},
"td": {"width": "20%"}
}
)
paginate_by = 10
class Meta:
model = Provider
attrs = {
"class": "table table-layout-fixed"
}
exclude = (
'type',
'company',
'id_metaservice',
'requirements',
'ticket_status',
'location_type',
'default_location',
'is_global',
'is_visible'
)
def render_check(self, value, record):
if record.status == 'active':
return format_html(
'',
record.id
)
else:
return format_html(
'',
record.id
)
class ServiceTariffTable(tables.Table):
id = tables.Column(
verbose_name=_('ID'),
attrs={
"td": {"width": "5%"}
}
)
servicetype = tables.LinkColumn(
'service_tariff/edit/',
verbose_name=_('Name of the tariff'),
text=lambda record: record.servicetype.caption,
args=[tables.A('pk')],
attrs={
'th': {'scope': 'col'},
"td": {"width": "20%"}
}
)
ticket_status = tables.Column(
verbose_name=_('Name of the service scheme'),
attrs={
'th': {'scope': 'col'},
"td": {"width": "20%"}
}
)
check = tables.BooleanColumn(
verbose_name=_('Activity'),
orderable=False,
attrs={
'th': {'scope': 'col'},
"td": {"width": "20%"}
}
)
class Meta:
model = Service
attrs = {
"class": "table table-layout-fixed"
}
exclude = (
'resource',
'price_alg',
'price_min',
'price_amount',
'id_metaservice',
'requirements',
'service_status',
'price_km',
'is_global',
'is_visible',
'status'
)
def render_check(self, value, record):
if record.status == 'active':
return format_html('_(Delete)')
# def render_name_operation(self, value, record):
# return format_html("{}", record.get_absolute_url(), value)
class ServiceTable(tables.Table):
id = tables.Column(
verbose_name=_('ID'),
attrs={
"td": {"width": "5%"}
}
)
servicetype = tables.Column(
verbose_name=_('Description of the service'),
accessor='servicetype.caption',
attrs={
'th': {'scope': 'col'},
"td": {"width": "20%"}}
)
# description = tables.Column(verbose_name='Название тарифа', attrs={'th':{'scope':'col'}, "td":{"width":"20%"}})
# description = tables.Column(verbose_name='Описание строки тарифов', attrs={'th':{'scope':'col'}, "td":{"width":"20%"}})
# price_type = tables.Column(verbose_name='Тип тарифа', attrs={'th':{'scope':'col'}, "td":{"width":"20%"}})
price_km = tables.Column(
verbose_name=_('Cost km.'),
attrs={
'th': {'scope': 'col'},
"td": {"width": "20%"}
}
)
price_min = tables.Column(
verbose_name=_('Cost min.'),
attrs={
'th': {'scope': 'col'},
"td": {"width": "20%"}}
)
price_amount = tables.Column(
verbose_name=_('Cost of service'),
attrs={
'th': {'scope': 'col'},
"td": {"width": "20%"}
}
)
class Meta:
model = Service
attrs = {
"class": "table table-layout-fixed"
}
exclude = (
'resource',
'requirements',
'id_metaservice',
'price_alg',
'service_status',
'ticket_status',
'is_global',
'is_visible'
)
def render_check(self, value, record):
if record.status == 'active':
return format_html(
'',
record.id
)
else:
return format_html(
'',
record.id
)
class UserInfoTable(tables.Table):
id = tables.Column(
verbose_name=_('ID'),
attrs={
"td": {"width": "5%"}
}
)
class Meta:
model = get_user_model()
attrs = {
"class": "table table-layout-fixed"
}
exclude = (
'password',
'phone_number',
'last_login',
'is_staff',
'is_superuser',
'date_joined'
)