class OrderOptionTable(DurationColumnMixin, tables.Table): order = tables.Column( linkify=( 'calc:order:detail', { 'pk': tables.A('order.pk'), }, ), accessor='order.pk', verbose_name=_('Estimate'), ) service = tables.Column( linkify=( 'calc:service:detail', { 'pk': tables.A('service.pk'), }, ), accessor='service.equipment', verbose_name=_('Equipment'), ) delete = tables.CheckBoxColumn(accessor="pk") class Meta: model = OrderOption sequence = ( 'order', 'service', 'equipment_price', 'work_price', 'quantity', 'price', ) exclude = ('id', ) empty_text = _("There are no records available")
class OrderTable(DurationColumnMixin, tables.Table): id = tables.LinkColumn(verbose_name=_('Estimate')) author = tables.Column( accessor='author.get_full_name', order_by=( 'author.first_name', 'author.last_name', ), ) client = tables.Column( linkify=( 'client:detail', { 'slug': tables.A('client.slug'), }, ), accessor='client.name', verbose_name=_('Client'), ) branch = tables.Column( linkify=( 'client:branch:detail', { 'client_slug': tables.A('client.slug'), 'pk': tables.A('branch.pk'), }, ), accessor='branch.name', verbose_name=_('Branch'), ) address = tables.Column( accessor='branch.address', verbose_name=_('Address'), ) price = tables.Column(verbose_name=_("Total price")) delete = tables.CheckBoxColumn(accessor="pk") class Meta: model = Order sequence = ( 'id', 'author', 'client', 'branch', 'address', 'created', 'modified', 'price', ) exclude = ( 'settlement', 'factor', ) empty_text = _("There are no records available") def render_address(self, record, value): return "{settlement}, {address}".format( settlement=record.branch.settlement, address=value, )
class WirelessLinkTable(BaseTable): pk = ToggleColumn() id = tables.Column( linkify=True, verbose_name='ID' ) status = ChoiceFieldColumn() device_a = tables.Column( accessor=tables.A('interface_a__device'), linkify=True ) interface_a = tables.Column( linkify=True ) device_b = tables.Column( accessor=tables.A('interface_b__device'), linkify=True ) interface_b = tables.Column( linkify=True ) tags = TagColumn( url_name='wireless:wirelesslink_list' ) class Meta(BaseTable.Meta): model = WirelessLink fields = ( 'pk', 'id', 'status', 'device_a', 'interface_a', 'device_b', 'interface_b', 'ssid', 'description', 'auth_type', 'auth_cipher', 'auth_psk', 'tags', 'created', 'last_updated', ) default_columns = ( 'pk', 'id', 'status', 'device_a', 'interface_a', 'device_b', 'interface_b', 'ssid', 'auth_type', 'description', )
class InvoiceTable(tables.Table): id = tables.Column(linkify = True) supplier = tables.Column(linkify = True) # paid = tables.Column(accessor='get_total_payments',verbose_name="Paid", # orderable=False) edit = tables.Column(linkify =('purchase_invoice_update',[tables.A("pk")]), empty_values=(), attrs={'a': {"class": "btn btn-outline-info", "role": "button"}}) remove = tables.Column(linkify=('purchase_invoice_delete',[tables.A("pk")]), empty_values=(), attrs={'a': {"class": "btn btn-outline-danger", "role": "button"}}) def render_supplier(self,value): return value.name def render_created(self,value): return value.date def render_edit(self): return 'Edit' def render_remove(self): return 'Delete' class Meta: model = Invoice fields = ('id','created','supplier','balancetype','metaltype', 'rate','net_wt','balance','status','is_gst','posted','term','due_date') attrs = {"class": "table table-striped table-bordered"} empty_text = "No Invoices Found matching your search..."
class HostTable(PaginateTable): name = tables.LinkColumn('hosts_host_detail', args=[tables.A('pk')], verbose_name='Name') alias = tables.Column(verbose_name='Alias') actions = ActionsColumn([ { 'title': '<i class="glyphicon glyphicon-pencil"></i>', 'url': 'hosts_host_update', 'args': [tables.A('pk')], 'attrs': { 'data-toggle': 'tooltip', 'title': 'Edit Host', 'data-delay': '{ "show": 300, "hide": 0 }' } }, { 'title': '<i class="glyphicon glyphicon-trash"></i>', 'url': 'hosts_host_delete', 'args': [tables.A('pk')], 'attrs': { 'data-toggle': 'tooltip', 'title': 'Delete Host', 'data-delay': '{ "show": 300, "hide": 0 }' } }, ], delimiter='   ') class Meta: model = models.Host attrs = {"class": "table table-striped"} fields = ('name', 'alias', 'actions')
class CollectionTable(tables.Table): item = tables.LinkColumn( self.collection_detail_urlname, args=(tables.A('pk'), ), verbose_name=self.get_model_verbose_name(), text=lambda obj: str(obj), accessor=tables.A('pk'))
class BuildingTable(tables.Table): Campus = tables.Column(visible=False) Building = tables.Column(orderable=True, empty_values=(), footer='Total:', linkify={ "viewname": "space_planner:get_floor_table", "args": [tables.A('Campus'), tables.A('Building')] }) Capacity = tables.Column(orderable=True, footer=lambda table: sum(x["Capacity"] for x in table.data)) Office_EEs = ColumnWithName(verbose_name="Office_EEs (taken cubics)", orderable=True, footer=lambda table: sum(x["Office_EEs"] for x in table.data)) Utilization = ColumnWithName( verbose_name="Utilization(%)", orderable=True, attrs={"td": { "class": "utilization" }}, footer=lambda table: mean(x["Utilization"] for x in table.data))
class GameTable(PaginateTable): """ Table used to display games Provides actions to: - update the map """ actions = ActionsColumn([{ # Show page to update repository 'title': '<i class="glyphicon glyphicon-file"></i>', 'url': 'game_game_update', 'args': [tables.A('user'), tables.A('repository')], 'attrs': { 'data-toggle': 'tooltip', 'title': 'View Project', 'data-delay': '{ "show": 300, "hide": 0 }' } }]) name = tables.LinkColumn('game_game_view', kwargs={'repository': tables.A('repository')}) class Meta: model = Game attrs = {"class": "table table-striped"} sequence = fields = ( 'name', 'actions', )
class MemberTable(tables.Table): member_id = tables.LinkColumn( "member_detail", kwargs={"member_id": tables.A("member_id")} ) chapter_id = ChapterColumn(verbose_name="Chapter") players__rating = tables.Column(verbose_name="Rating") country = tables.LinkColumn( "country_detail", kwargs={"country_name": tables.A("country")} ) full_name = tables.LinkColumn( "member_detail", kwargs={"member_id": tables.A("member_id")} ) class Meta: model = Member attrs = {"class": "paleblue"} fields = ("full_name", "state", "players__rating", "renewal_due", "country") sequence = ( "full_name", "players__rating", "chapter_id", "country", "state", "renewal_due", "member_id", )
class SimpleTable(tables.Table): vysledok_1 = tables.Column(verbose_name='Výsledok', orderable=True) tim_1 = tables.LinkColumn('zobraz_hracov_timu', args=[tables.A('tim_1.id')], verbose_name='Domáci', orderable=True) tim_2 = tables.LinkColumn('zobraz_hracov_timu', args=[tables.A('tim_2.id')], verbose_name='Hostia', orderable=True) turnaj = tables.LinkColumn('zobraz_timi_turnaja', args=[tables.A('turnaj.id')], verbose_name='Turnaj', orderable=True, empty_values=()) class Meta: model = Zapas fields = ('turnaj', 'tim_1', 'tim_2', 'vysledok_1') attrs = {"class": "paleblue"} orderable = True def render_vysledok_1(self, record): return str(record.vysledok_1) + ' : ' + str(record.vysledok_2) def render_turnaj(self, record): kategoriaTurnaju = KategoriaTurnaju.objects.filter( id=record.kategoria_turnaju.id) turnaj = Turnaj.objects.filter(id__in=kategoriaTurnaju) return mark_safe("<a href='turnaj_zapas="******"'>" + unicode(turnaj[0]) + "</a>")
class AllPlayerRatingsTable(tables.Table): full_name = tables.LinkColumn( "member_detail", kwargs={"member_id": tables.A("member_id")} ) member_id = tables.LinkColumn( "member_detail", kwargs={"member_id": tables.A("member_id")} ) type = tables.Column() players__rating = tables.Column() chapter_id = ChapterColumn(verbose_name="Chapter") state = tables.Column() players__sigma = tables.Column(verbose_name="Sigma") class Meta: attrs = {"class": "paleblue"} fields = ( "full_name", "member_id", "players__rating", "players__sigma", "type", "chapter_id", "state", ) sequence = fields
class MemberTable(tables.Table): member_id = tables.LinkColumn('member_detail', kwargs={"member_id": tables.A('member_id')}) chapter_id = tables.Column(verbose_name="Chapter") players__rating = tables.Column(verbose_name="Rating") country = tables.LinkColumn('country_detail', kwargs={"country_name": tables.A('country')}) full_name = tables.LinkColumn('member_detail', kwargs={'member_id': tables.A('member_id')}) def render_chapter_id(self, value): try: members_chapter = Chapters.objects.get(member_id=value) chapter_url = reverse( viewname='chapter_detail', kwargs={'chapter_code': members_chapter.code}) chapter_html = mark_safe("<a href='{}'>{}</a>".format( chapter_url, members_chapter.code)) except: chapter_html = u"\u2014" return chapter_html class Meta: model = Member attrs = {"class": "paleblue"} fields = ('full_name', 'state', 'players__rating', 'renewal_due', 'country') sequence = ('full_name', 'players__rating', 'chapter_id', 'country', 'state', 'renewal_due', 'member_id')
class TournamentsTable(tables.Table): tournament_date = tables.Column(verbose_name="Date", orderable=False) description = tables.Column( verbose_name="Name", linkify=("tournament_detail", [tables.A("tournament_code")]), ) tournament_code = tables.Column( verbose_name="Code", linkify=("tournament_detail", [tables.A("tournament_code")]), ) total_players = tables.Column( verbose_name="# Players", attrs=django_tables2_styles.default_bootstrap_column_attrs, ) elab_date = tables.Column(verbose_name="Rated") class Meta: attrs = django_tables2_styles.default_bootstrap_header_column_attrs fields = ( "description", "tournament_code", "total_players", "tournament_date", "elab_date", ) model = agagd_models.Tournament orderable = False sequence = fields template_name = "django_tables2/bootstrap4.html"
class PatternTable(tables.Table): class_ = tables.Column( accessor="class_field", orderable=False, linkify=("budget:class-detail", { "pk": tables.A("class_field__pk") }), ) category = tables.Column( accessor="category", orderable=False, linkify=("budget:category-detail", { "pk": tables.A("category__pk") }), ) pattern = tables.Column( verbose_name="Pattern", accessor="pattern", linkify=("budget:pattern-detail", { "pk": tables.A("pk") }), ) num_transactions = tables.Column(verbose_name="Transactions", accessor="num_transactions", orderable=False) class Meta: model = models.Pattern exclude = ("user", "id") fields = ["class_", "category", "pattern", "num_transactions"]
class AlarmsTable(tables.Table): """This table is to present a full alarm history""" tag = tables.Column(accessor=tables.A('tag'), verbose_name='Alarm') severity = tables.Column(accessor=tables.A('severity'), verbose_name='Severity') state = tables.Column(accessor=tables.A('state'), verbose_name='State') activation_time = tables.Column(accessor=tables.A('activation_time'), verbose_name='Active since') description = tables.Column(accessor=tables.A('description'), verbose_name='Description') _active_alarms = [] def get_top_pinned_data(self): return self._active_alarms def render_tag(self, value, table): return mark_safe('<a href="%s">%s</a>' % (reverse('alarm_details', args=[value]), value)) def render_activation_time(self, value, table): if value is None or value == 'None': return '-' return str(parse_datetime(value)).split('+')[0] class Meta: template_name = 'django_tables2/bootstrap.html' sequence = ('tag', 'severity', 'state', 'activation_time', 'description') # attrs = {'class': 'table'} row_attrs = {'class': lambda record: alarm_row_class(record)}
class MemberTable(tables.Table): member_id = tables.LinkColumn("member_detail", kwargs={"member_id": tables.A("member_id")}) chapter_id = ChapterColumn(verbose_name="Chapter") players__rating = tables.Column(verbose_name="Rating") country = tables.LinkColumn("country_detail", kwargs={"country_name": tables.A("country")}) full_name = tables.LinkColumn("member_detail", kwargs={"member_id": tables.A("member_id")}) class Meta: model = agagd_models.Member attrs = {"class": "table", "thead": {"class": "thead-light"}} fields = ("full_name", "state", "players__rating", "renewal_due", "country") sequence = ( "full_name", "players__rating", "chapter_id", "country", "state", "renewal_due", "member_id", ) template_name = "django_tables2/bootstrap4.html"
def __init__(self, *args, **kwargs): stage_id = kwargs.pop('stage_id') self.base_columns['actions'] = ActionsColumn( [ { 'title': '<i class="glyphicon glyphicon-file"></i>', 'url': 'hosts_host_detail', 'args': [tables.A('pk')], 'attrs': { 'data-toggle': 'tooltip', 'title': 'View Host', 'data-delay': '{ "show": 300, "hide": 0 }' } }, { 'title': '<i class="glyphicon glyphicon-trash"></i>', 'url': 'projects_stage_unmaphost', 'args': [ stage_id, tables.A('pk'), ], 'attrs': { 'data-toggle': 'tooltip', 'title': 'Remove Host from Stage', 'data-delay': '{ "show": 300, "hide": 0 }' } }, ], delimiter='   ') super(StageHostTable, self).__init__(*args, **kwargs)
class GlobalConfigModelTable(tables.Table): hostname = tables.Column(tables.A('Hostname'), linkify=True) gui_certificates = tables.BooleanColumn(tables.A('Show GUI Certificates'), yesno='enabled,disabled') gui_display_hostname = tables.BooleanColumn(tables.A('Show Hostname'), yesno='enabled,disabled') global_config_id = tables.LinkColumn('global-delete', text='Delete', args=[tables.A('pk')], verbose_name='Delete') class Meta: model = GlobalConfigModel template_name = 'django_tables2/bootstrap.html' exclude = ([ # ' field_name' ]) sequence = ( 'hostname', 'admin_port', 'admin_sport', 'admin_ssh_port', 'admintimeout', 'gui_certificates', 'gui_display_hostname', 'timezone', 'config', 'global_config_id', )
class ProdutosTable(ColumnShiftTable): codigo = tables.Column(verbose_name="Código") codigo_barras = tables.Column(verbose_name="Código de barras") descricao = tables.Column(verbose_name="Descrição") genero = tables.Column(verbose_name="Gênero") producao = tables.Column(verbose_name="Produção") unidade = tables.Column(verbose_name="Unidade de medida") inf_adicionais = tables.Column(verbose_name="Informações adicionais") ncm = tables.Column(verbose_name="NCM") isbn = tables.Column(verbose_name="ISBN") cest = tables.Column(verbose_name="CEST") cfop_padrao = tables.Column(verbose_name="CFOP") estoque_minimo = tables.Column(verbose_name="Estoque mínimo") unidade_de_medida = tables.Column( verbose_name="Unidade de medida (volume)") custo_x_quantidade = tables.Column(verbose_name="Custo X Quantidade", accessor=tables.A( 'get_custo_x_quantidade', ), footer=SummingColumnMoeda().footer) venda_x_quantidade = tables.Column( verbose_name="Venda X Quantidade", accessor=tables.A('get_venda_x_quantidade'), footer=SummingColumnMoeda().footer) estoque_atual = SummingColumn() class Meta: model = Produto template_name = 'django_tables2/bootstrap.html'
class UserListTable(PaginateTable): """ Table for displaying users. """ actions = ActionsColumn([ { 'title': '<i class="glyphicon glyphicon-file"></i>', 'url': 'accounts_user_view', 'args': [tables.A('pk')], 'attrs': { 'data-toggle': 'tooltip', 'title': 'View User', 'data-delay': '{ "show": 300, "hide": 0 }' } }, { 'title': '<i class="glyphicon glyphicon-pencil"></i>', 'url': 'accounts_user_change', 'args': [tables.A('pk')], 'attrs': { 'data-toggle': 'tooltip', 'title': 'Edit User', 'data-delay': '{ "show": 300, "hide": 0 }' } }, { 'title': '<i class="glyphicon glyphicon-trash"></i>', 'url': 'accounts_user_delete', 'args': [tables.A('pk')], 'attrs': { 'data-toggle': 'tooltip', 'title': 'Delete User', 'data-delay': '{ "show": 300, "hide": 0 }', 'class': 'js-delete' } }, ], delimiter='   ') email = tables.Column(verbose_name='Email') first_name = tables.Column(verbose_name='First Name') last_name = tables.Column(verbose_name='Last Name') user_level = tables.Column(verbose_name='User Level', accessor='group_strigify', order_by='groups') class Meta: model = get_user_model() sequence = fields = ( 'first_name', 'last_name', 'is_active', 'email', 'user_level', ) attrs = {'class': 'table table-striped table-bordered table-hover'} def __init__(self, *args, **kwargs): super(UserListTable, self).__init__(*args, **kwargs)
class AllPlayersTable(tables.Table): full_name = tables.Column( verbose_name="Name", linkify=("players_profile", [tables.A("member_id")]) ) chapter_id__name = tables.Column( verbose_name="Chapter Name", linkify=("chapter_detail", [tables.A("chapter_id")]), ) state = tables.Column(attrs=django_tables2_styles.default_bootstrap_column_attrs) type = tables.Column(attrs=django_tables2_styles.default_bootstrap_column_attrs) players__sigma = tables.Column( attrs=django_tables2_styles.default_bootstrap_column_attrs ) players__rating = tables.Column(verbose_name="Rating") def render_full_name(self, record): return f"{record['full_name']} ({record['member_id']})" class Meta: attrs = django_tables2_styles.default_bootstrap_header_column_attrs fields = ( "full_name", "players__rating", "players__sigma", "type", "chapter_id__name", "state", ) model = agagd_models.Players orderable = False sequence = fields template_name = "django_tables2/bootstrap4.html"
class GameTable(tables.Table): pin_player_1 = WinnerColumn( color="W", viewname="players_profile", verbose_name="white player", kwargs={"member_id": tables.A("pin_player_1.member_id")}, ) pin_player_2 = WinnerColumn( color="B", viewname="players_profile", verbose_name="black player", kwargs={"member_id": tables.A("pin_player_2.member_id")}, ) tournament_code = tables.LinkColumn( verbose_name="Tournament", viewname="tournament_detail", kwargs={"tourn_code": tables.A("tournament_code.tournament_code")}, ) class Meta: model = Game attrs = {"class": "paleblue"} fields = ( "game_date", "round", "pin_player_1", "pin_player_2", "handicap", "komi", "tournament_code", ) sequence = fields
class PartTable(tables.Table): select = tables.TemplateColumn( '<input class="selectCheck" type="checkbox" value="{{ record.pk }}" name="{{record.name}}"/>', verbose_name="Select", orderable=False) name = tables.Column(verbose_name='Part', linkify=('part-detail', { 'pk': tables.A('pk'), 'slug': tables.A('slug') })) side = tables.Column() vehicle = tables.Column(linkify=('vehicle-detail', { 'pk': tables.A('vehicle_id'), 'slug': tables.A('vehicle__slug') })) category = tables.Column() selling_price = tables.Column() available = tables.Column() editHTML = '<button type="button" class="btn btn-warning btn-sm js-update-part" data-url="{% url "part-update" ' \ 'record.id record.slug %}"><i class="fa fa-pencil"></i> Update</button> ' edit = tables.TemplateColumn(editHTML)
class RecentDeploymentsTable(tables.Table): """Table used to show the recent deployments of a user""" project = tables.Column(accessor='stage.project.name', verbose_name='Project', orderable=False) stage = tables.Column(accessor='stage.name', verbose_name='Stage', orderable=False) task_name = tables.Column(accessor='task.name', verbose_name='Task', orderable=False) status = tables.TemplateColumn( template_name='projects/pieces/deployment_status_column.html', verbose_name='Status' ) actions = ActionsColumn( [ { 'title': '<i class="glyphicon glyphicon-file"></i>', 'url': 'projects_deployment_detail', 'args': [tables.A('stage.project_id'), tables.A('stage_id'), tables.A('pk')], 'attrs': {'data-toggle': 'tooltip', 'title': 'View Deployment Details', 'data-delay': '{ "show": 300, "hide": 0 }'} }, ], delimiter='   ' ) class Meta: model = models.Deployment attrs = {"class": "table table-striped"} sequence = fields = ( 'project', 'stage', 'task_name', 'status', 'actions', )
class SimpleTableKlikolNaMesto(BaseSimpleTable): kategoria = tables.Column(verbose_name='Kategória', orderable=True) datum_od = tables.Column(verbose_name='Dátum od', orderable=True) datum_do = tables.Column(verbose_name='Dátum do', orderable=True) datum_zapisu = tables.Column(verbose_name='Dátum zápisu', orderable=True) report = tables.Column(verbose_name='Report', orderable=True) nazov = tables.LinkColumn('zobraz_timi_turnaja', args=[tables.A('id')], orderable=True, empty_values=(), verbose_name='Názov') stat = tables.LinkColumn('zobraz_turnaje_statu', args=[tables.A('stat')], verbose_name='Štát', orderable=True) zapasy = tables.LinkColumn('zobraz_zapasy_turnaja', args=[tables.A('id')], orderable=False, empty_values=(), verbose_name='Zápasy') class Meta: model = Turnaj fields = ('nazov', 'kategoria', 'datum_od', 'datum_do', 'stat', 'datum_zapisu', 'report') attrs = {"class": "paleblue"} orderable = True
class DeploymentTable(PaginateTable): """Table used to show the deployments Also provides actions to view individual deployment""" date_created = tables.Column(verbose_name='Created') user = LinkColumn('accounts_user_view', accessor='user.email', args=[tables.A('user.pk')], attrs={ 'data-toggle': 'tooltip', 'title': 'View user details', 'data-delay': '{ "show": 300, "hide": 0 }' }, verbose_name='Deployer') stage = tables.Column(verbose_name='Stage') task_name = tables.Column(accessor='task.name', verbose_name='Task') status = tables.TemplateColumn( template_name='projects/pieces/deployment_status_column.html', verbose_name='Status') actions = ActionsColumn([ { 'title': '<i class="glyphicon glyphicon-file"></i>', 'url': 'projects_deployment_detail', 'args': [ tables.A('stage.project_id'), tables.A('stage_id'), tables.A('pk') ], 'attrs': { 'data-toggle': 'tooltip', 'title': 'View Deployment Details', 'data-delay': '{ "show": 300, "hide": 0 }' } }, ], delimiter='   ') class Meta: model = models.Deployment attrs = {"class": "table table-striped"} sequence = fields = ( 'date_created', 'user', 'stage', 'task_name', 'status', 'actions', )
class TopKyuTable(tables.Table): member_id = tables.LinkColumn('member_detail', kwargs={"member_id": tables.A('member_id')}) full_name = tables.LinkColumn('member_detail', kwargs={'member_id': tables.A('member_id')}) class Meta: model = TopKyu attrs = {"class": "paleblue"} fields = ('member_id', 'full_name', 'rating') sequence = fields
class MostTournamentsPastYearTable(tables.Table): member_id = tables.LinkColumn("players_profile", kwargs={"member_id": tables.A("member_id")}) name = tables.LinkColumn("players_profile", kwargs={"member_id": tables.A("member_id")}) class Meta: model = MostTournamentsPastYear attrs = {"class": "paleblue"} fields = ("member_id", "name", "total") sequence = fields
class TopKyuTable(tables.Table): member_id = tables.LinkColumn("players_profile", kwargs={"member_id": tables.A("member_id")}) full_name = tables.LinkColumn("players_profile", kwargs={"member_id": tables.A("member_id")}) class Meta: model = TopKyu attrs = {"class": "paleblue"} fields = ("member_id", "full_name", "rating") sequence = fields
class MostTournamentsPastYearTable(tables.Table): member_id = tables.LinkColumn('member_detail', kwargs={'member_id': tables.A('member_id')}) name = tables.LinkColumn('member_detail', kwargs={'member_id': tables.A('member_id')}) class Meta: model = MostTournamentsPastYear attrs = {"class": "paleblue"} fields = ('member_id', 'name', 'total') sequence = fields