add a CoreTable class to inherit all tables from

This commit is contained in:
Andreas Zweili 2020-02-23 12:58:39 +01:00
parent ac71ee590f
commit 9c0938b420
8 changed files with 46 additions and 22 deletions

View File

@ -1,14 +1,16 @@
import django_tables2 as tables
from core.tables import CoreTable
from .models import Backup
class BackupsTable(tables.Table):
class BackupsTable(CoreTable):
id = tables.Column(visible=False)
name = tables.Column('Backup', linkify=True)
computer = tables.Column('Computer', linkify=True)
target_device = tables.ManyToManyColumn(linkify_item=True)
class Meta:
template_name = 'django_tables2/semantic.html'
class Meta(CoreTable.Meta):
model = Backup

View File

@ -1,7 +1,8 @@
import django_tables2 as tables
from core.tables import CoreTable
class ComputersTable(tables.Table):
class ComputersTable(CoreTable):
name = tables.Column('Computer', linkify=True)
description = tables.Column()
serialnumber = tables.Column()
@ -13,5 +14,6 @@ class ComputersTable(tables.Table):
installation_date = tables.Column()
os = tables.Column()
class Meta:
template_name = 'django_tables2/semantic.html'
class Meta(CoreTable.Meta):
pass

8
core/tables.py Normal file
View File

@ -0,0 +1,8 @@
import django_tables2 as tables
class CoreTable(tables.Table):
class Meta:
attrs = {"class": "table table-hover table-bordered"}

View File

@ -1,8 +1,10 @@
import django_tables2 as tables
from django_tables2.utils import A
from core.tables import CoreTable
class CustomersTable(tables.Table):
class CustomersTable(CoreTable):
name = tables.LinkColumn('customer', args=[A('pk')])
nets = tables.LinkColumn('nets', text='Nets', args=[A('pk')],
orderable=False)
@ -21,5 +23,6 @@ class CustomersTable(tables.Table):
users = tables.LinkColumn('users', text='Users', args=[A('pk')],
orderable=False)
class Meta:
template_name = 'django_tables2/semantic.html'
class Meta(CoreTable.Meta):
pass

View File

@ -1,34 +1,37 @@
import django_tables2 as tables
from core.tables import CoreTable
from .models import ConnectedDevice
from .models import Device
from .models import Warranty
class DevicesTable(tables.Table):
class DevicesTable(CoreTable):
id = tables.Column(visible=False)
name = tables.Column('Device', linkify=True)
class Meta:
template_name = 'django_tables2/semantic.html'
class Meta(CoreTable.Meta):
model = Device
class ConnectedDevicesTable(tables.Table):
class ConnectedDevicesTable(CoreTable):
id = tables.Column(visible=False)
name = tables.Column('ConnectedDevice', linkify=True)
class Meta:
template_name = 'django_tables2/semantic.html'
class Meta(CoreTable.Meta):
model = ConnectedDevice
class WarrantiesTable(tables.Table):
class WarrantiesTable(CoreTable):
customer = tables.Column(linkify=True, orderable=False)
device = tables.Column(linkify=True)
valid_from = tables.Column()
valid_until = tables.Column()
warranty_type = tables.Column()
class Meta:
template_name = 'django_tables2/semantic.html'
class Meta(CoreTable.Meta):
pass

View File

@ -1,28 +1,30 @@
import django_tables2 as tables
from core.tables import CoreTable
from .models import ComputerLicense
from .models import UserLicense
class UserLicensesTable(tables.Table):
class UserLicensesTable(CoreTable):
id = tables.Column(visible=False)
license_ptr = tables.Column(visible=False)
customer = tables.Column('Customer', linkify=True)
used_licenses = tables.Column()
user = tables.ManyToManyColumn(linkify_item=True)
class Meta:
template_name = 'django_tables2/semantic.html'
class Meta(CoreTable.Meta):
model = UserLicense
class ComputerLicensesTable(tables.Table):
class ComputerLicensesTable(CoreTable):
id = tables.Column(visible=False)
license_ptr = tables.Column(visible=False)
customer = tables.Column('Customer', linkify=True)
used_licenses = tables.Column()
computer = tables.ManyToManyColumn(linkify_item=True)
class Meta:
template_name = 'django_tables2/semantic.html'
class Meta(CoreTable.Meta):
model = ComputerLicense

View File

@ -1,24 +1,26 @@
import django_tables2 as tables
from core.tables import CoreTable
from devices.models import DeviceInNet
from .models import Net
class NetsTable(tables.Table):
class NetsTable(CoreTable):
id = tables.Column(visible=False)
name = tables.Column('Net', linkify=True)
customer = tables.Column('Customer', linkify=True)
class Meta:
template_name = 'django_tables2/semantic.html'
class Meta(CoreTable.Meta):
model = Net
class NetDetailTable(tables.Table):
class NetDetailTable(CoreTable):
device = tables.Column(linkify=True)
ip = tables.Column()
net = tables.Column(visible=False)
class Meta:
template_name = 'django_tables2/semantic.html'
class Meta(CoreTable.Meta):
model = DeviceInNet

View File

@ -1,15 +1,17 @@
import django_tables2 as tables
from core.tables import CoreTable
from .models import User
class UsersTable(tables.Table):
class UsersTable(CoreTable):
id = tables.Column(visible=False)
name = tables.Column('User', linkify=True)
customer = tables.Column('Customer', linkify=True)
ad_groups = tables.ManyToManyColumn()
mail_groups = tables.ManyToManyColumn()
class Meta:
template_name = 'django_tables2/semantic.html'
class Meta(CoreTable.Meta):
model = User