class CustomLinkTable(tables.Table): first_name = tables.LinkColumn("person", text="foo::bar", args=[A("pk")]) last_name = tables.LinkColumn( "person", text=lambda row: "%s %s" % (row["last_name"], row["first_name"]), args=[A("pk")], )
class PersonTable(tables.Table): first_name = tables.Column() last_name = tables.Column() occupation = tables.LinkColumn("occupation", args=[A("occupation__pk")]) occupation_linkify = tables.Column(linkify=("occupation", A("occupation__pk")))
class SeminarsOrgTable(tables.Table): edit = tables.LinkColumn('edit', text='Edit', args=[A('pk')], orderable=False, empty_values=(), verbose_name='') delete = tables.LinkColumn('delete', text='Delete', args=[A('pk')], orderable=False, empty_values=(), verbose_name='') def render_edit(self, record): return mark_safe('<a href=' + reverse("edit_papers", args=[record.pk]) + ' class="btn btn-sm btn-warning">Edit</a>') def render_delete(self, record): return mark_safe('<a href=' + reverse("delete_papers", args=[record.pk]) + ' class="btn btn-sm btn-danger">Delete</a>') class Meta: model = SeminarsOrg template_name = 'django_tables2/bootstrap-responsive.html' fields = ( 'name', 'role', 'fundingAgency', 'orgInstitute', 'duration', )
class CustomLinkTable(tables.Table): first_name = tables.LinkColumn('person', text='foo::bar', args=[A('pk')]) last_name = tables.LinkColumn( 'person', text=lambda row: '%s %s' % (row['last_name'], row['first_name']), args=[A('pk')] )
class VendorTable(DashboardTable): company_name = TemplateColumn( verbose_name=_('Company Name'), template_name='dashboard/partners/product_row_title.html', accessor=A('company_name')) company_logo = TemplateColumn( verbose_name=_('Company Logo'), template_name='dashboard/partners/product_row_image.html', orderable=False, accessor=A('company_logo')) check = TemplateColumn( template_name='dashboard/partners/user_row_checkbox.html', verbose_name=' ', orderable=False) user = Column(accessor='user') actions = TemplateColumn( verbose_name=_('Actions'), template_name='dashboard/partners/product_row_actions.html', orderable=False) icon = "sitemap" class Meta(DashboardTable.Meta): model = Company fields = ('company_name', 'user', 'company_logo') #fields = ('upc', 'date_updated') sequence = ( 'company_name', 'user', 'company_logo' # 'upc','product_class', #'variants', 'stock_records', #'...', 'date_updated', 'actions') , 'actions')
class RentalPropertyTable(tables.Table): url = URLColumn() promote = LinkColumn('main:promote', text='Save', args=[A('pk')], attrs={'a': { 'class': 'btn' }}) delete = LinkColumn('main:destroy', text='Delete', args=[A('pk')], attrs={'a': { 'class': 'btn' }}) block = LinkColumn('main:block', text='Move to Block', args=[A('pk')], attrs={'a': { 'class': 'btn' }}) class Meta: model = RentalProperty template_name = "django_tables2/bootstrap.html" fields = ( "name", "url", "promote", "delete", "block", )
class ProductTable(DashboardTable): title = TemplateColumn( verbose_name=_('Title'), template_name='oscar/dashboard/catalogue/product_row_title.html', order_by='title', accessor=A('title')) image = TemplateColumn( verbose_name=_('Image'), template_name='oscar/dashboard/catalogue/product_row_image.html', orderable=False) product_class = Column( verbose_name=_('Product type'), accessor=A('product_class'), order_by='product_class__name') variants = TemplateColumn( verbose_name=_("Variants"), template_name='oscar/dashboard/catalogue/product_row_variants.html', orderable=False ) stock_records = TemplateColumn( verbose_name=_('Stock records'), template_name='oscar/dashboard/catalogue/product_row_stockrecords.html', orderable=False) actions = TemplateColumn( verbose_name=_('Actions'), template_name='oscar/dashboard/catalogue/product_row_actions.html', orderable=False) icon = "sitemap" class Meta(DashboardTable.Meta): model = Product fields = ('upc', 'date_updated') sequence = ('title', 'upc', 'image', 'product_class', 'variants', 'stock_records', '...', 'date_updated', 'actions') order_by = '-date_updated'
class CustomerOrderPositionsTable(Table): # id = PrimaryKeyCheckboxColumn() ProductName = TemplateColumn( '<p>{{ value }}</p>', accessor=A('get_product_name'), attrs={ "td": { 'class': 'original text-muted' }, "th": { 'class': 'original' } }, verbose_name='', ) Product__SKU = TemplateColumn('#{{ value }}') ActualPrice = NumericColumn( accessor=A('get_actual_price__Price'), attrs={"td": { "align": "right", 'class': 'text-black-50' }}, verbose_name=_('Actual'), ) Price = NumericColumn(attrs={"td": {"align": "right"}}) Discount = NumericColumn(attrs={"td": {"align": "right"}}) DateDelivered = DateColumn('d.m.Y') Actions = TemplateColumn( ('<a href="#editPosition" class="mr-2" data-toggle="modal" data-id="{{ value}}">' '<i class="bi bi-pencil-square text-success mr-1"></i></a>' '<a href="#deleteModal" data-toggle="modal" data-id="{{ value }}">' '<i class="bi bi-trash text-danger mr-1"></i></a>'), accessor='id', orderable=False, verbose_name=_('Actions'), ) class Meta: model = CustomerOrderPosition empty_text = _('There are no Position for this Customer Order') fields = ('ProductName', 'Product__SKU', 'ActualPrice', 'Price', 'Quantity', 'Discount', 'DiscountReason', 'Status', 'DateDelivered') attrs = { "class": "table table-hover table-sm small", "thead": { "class": "" } } row_attrs = {"class": "has_original"} orderable = False
class TestTable(tables.Table): col = tables.LinkColumn( "occupation", kwargs={"pk": A("col")}, attrs={"a": {"title": "Occupation Title"}} ) col_linkify = tables.Column( accessor="col", attrs={"a": {"title": "Occupation Title"}}, linkify=("occupation", {"pk": A("col")}), )
class MyActivityTable(tables.Table): playlist = tables.columns.Column( verbose_name='Playlist name', # text=lambda record: record.playlist.name, accessor=('playlist.name'), # attrs={"td": {"bgcolor": "white", "width": "auto"}} ) id = tables.columns.Column( verbose_name='ID', accessor=('playlist.id'), ) playlist_passed = tables.columns.BooleanColumn( verbose_name='Passed', orderable=False, ) playlist_pass_date = tables.columns.DateColumn( verbose_name='Pass Date', format='Y_m_d • D', orderable=False, ) view = tables.columns.LinkColumn( 'dashboard:subscriber-playlist-performance', kwargs={ 'playlist_id': A('playlist.id'), 'subscriber_id': A('user.id') }, text='Details', verbose_name='View Progress', orderable=False) created = tables.columns.DateColumn( verbose_name='First attempt', format='Y_m_d • D', attrs={ # "td": {"bgcolor": "white", "width": "auto"} }) updated = tables.columns.DateColumn( verbose_name='Latest attempt', format='Y_m_d • D', attrs={ # "td": {"bgcolor": "white", "width": "auto"} }) # user # email def value_playlist_passed(self, record): return record.playlist_passed def render_playlist_pass_date(self, record): return record.playlist_pass_date class Meta: attrs = {'class': 'paleblue'} table_pagination = False order_by = ('-updated') template_name = "django_tables2/bootstrap4.html"
class MedExaminationsTable(tables.Table): patient = tables.LinkColumn('patient-detail', args=[A('patient_id')]) patient_status = tables.LinkColumn('renew-status-medexamination', args=[A('mid')]) email = tables.EmailColumn() #purpose_medical_examination=tables.Column() class Meta: model = MedExamtList template_name = 'django_tables2/bootstrap.html' fields = ('patient', 'patient_status', 'email', 'phone_mobile', 'purpose_medical_examination', 'date_medical_examination', 'dat_end', 'date_update') attrs = {"class": "table-striped table-bordered "}
class CinemaTable(tables.Table): is_daily_report_finished = Column('Отчёт завершён', A('id')) hall_count = Column('Залов') send_daily_report_email = Column('Послать напоминание', A('pk'), orderable=False) class Meta: model = Cinema attrs = {'class': 'paleblue'} empty_text = 'Нет кинотеатров' fields = ( 'id', 'name', 'city', 'is_daily_report_finished', ) def render_send_daily_report_email(self, record): if not self.context['request'].user.is_superuser: return '-' if record.is_daily_report_finished: return 'отчёт сдан' if not record.responsible_for_daily_reports: return 'нет ответственного' button_html = """ <form method="POST" action={url}> <input type="hidden" name="csrfmiddlewaretoken" value="{csrf_token}"/> <button type="submit" class="btn btn-default btn-extra-sm glyphicon glyphicon-send"> </button> </form> """ create_report_url = reverse('send_daily_report_email', kwargs={'pk': record.pk, 'date': self.context['view'].date_str}) csrf_token = csrf.get_token(self.context['view'].request) return format_html(button_html.format(url=create_report_url, csrf_token=csrf_token)) def render_is_daily_report_finished(self, record): if record.is_daily_report_finished: return 'Да' if record.is_daily_report_finished is False: return 'Нет' return 'Нет активных соглашений' def render_name(self, record): create_report_url = reverse('create_session', kwargs={'pk': record.pk, 'date': self.context['view'].date_str}) return format_html('<a href="{}">{}</a>'.format(create_report_url, record.name))
class PuntoDeVentaTable(Table): class Meta: attrs = {"id": "puntos-venta-table"} model = PuntoDeVenta per_page = 10 fields = ("id_afip", "nombre") actions = EditColumn('punto_de_venta.update', kwargs={"pk": A('pk')}, orderable=False, accessor='pk', verbose_name="Acciones") delete = DeleteColumn('punto_de_venta.delete', kwargs={"pk": A('pk')}, orderable=False, accessor='pk', verbose_name=" ")
class TamerKindContactTable(TamerTableCommon, tables.Table): id = tables.LinkColumn('tamer-kind-contact-detail', args=[A('pk')]) name = tables.LinkColumn('tamer-kind-contact-detail', args=[A('pk')]) remove = tables.LinkColumn( 'tamer-kind-contact-delete', args=[A('pk')], verbose_name=mark_safe('<i class="fas fa-cogs"></i>'), text=mark_safe('<i class="far fa-trash-alt"></i>'), orderable=False) class Meta(TamerTableCommon.Meta): model = TamerKindContact
class SeasonTable(tables.Table): description = tables.LinkColumn('season details', args=[A('id')], verbose_name="Season name") league = tables.LinkColumn('league details', args=[A('league.id')]) transfermarkt_hyperlink = tables.URLColumn( attrs={'a': { 'target': '_blank' }}) class Meta: model = Season template_name = "tables/responsive-table.html"
class LeagueTable(tables.Table): description = tables.LinkColumn('league details', args=[A('id')], verbose_name="League name") country = tables.LinkColumn('country details', args=[A('country.id')]) transfermarkt_hyperlink = tables.URLColumn( attrs={'a': { 'target': '_blank' }}) class Meta: model = League template_name = "tables/responsive-table.html"
class TamerContactTable(TamerTableCommon, tables.Table): id = tables.LinkColumn('tamer-contact-detail', args=[A('pk')]) name = tables.LinkColumn('tamer-contact-detail', args=[A('pk')]) note = tables.TemplateColumn('<a class="row">{{ record.note }}</a>', verbose_name='Контактные данные') remove = tables.LinkColumn( 'tamer-contact-delete', args=[A('pk')], verbose_name=mark_safe('<i class="fas fa-cogs"></i>'), text=mark_safe('<i class="far fa-trash-alt"></i>'), orderable=False) class Meta(TamerTableCommon.Meta): model = TamerContact
class ProductoTable(Table): class Meta: attrs = {"id": "productos-table"} model = Producto per_page = 30 fields = ( "codigo", "codigo_barras_nro", "nombre", "unidad", "precio_unit", "precio_final", "alicuota_iva", "activo") actions = EditColumn('producto.update', kwargs={"pk": A('pk')}, orderable=False, accessor='pk', verbose_name="Acciones") delete = DeleteColumn('producto.delete', kwargs={"pk": A('pk')}, orderable=False, accessor='pk', verbose_name=" ") codigo_barras_nro = Column(verbose_name="Codigo de barras") precio_unit = MoneyColumn() precio_final = MoneyColumn(orderable=False)
class PlaylistsListTable(tables.Table): name = tables.columns.Column( verbose_name='Name of Playlist', # attrs={"td": {"bgcolor": "white", "width": "auto"}}, ) id = tables.columns.Column() view = tables.columns.LinkColumn('lab:playlist-view', kwargs={'playlist_name': A('name')}, text='Load', verbose_name='Load', orderable=False) edit = tables.columns.LinkColumn('dashboard:edit-playlist', kwargs={'playlist_name': A('name')}, text='Edit', verbose_name='Edit', orderable=False) delete = tables.columns.LinkColumn('dashboard:delete-playlist', kwargs={'playlist_name': A('name')}, text='Delete', verbose_name='Delete', orderable=False) created = tables.columns.DateColumn( verbose_name='Created', format='Y-m-d • h:i A', ) updated = tables.columns.DateColumn( verbose_name='Modified', format='Y-m-d • h:i A', ) is_public = tables.columns.BooleanColumn() is_auto = tables.columns.BooleanColumn(verbose_name='Is Auto') def render_edit(self, record): if not record.has_been_performed: return 'Edit' return 'View' def render_delete(self, record): if not record.has_been_performed: return 'Delete' return '' class Meta: attrs = {'class': 'paleblue'} table_pagination = False order_by = ('-id') template_name = "django_tables2/bootstrap4.html"
class ClienteTable(Table): class Meta: attrs = {"id": "clientes-table"} model = Cliente per_page = 30 fields = ("tipo_doc", "nro_doc", "nombre", "condicion_iva", "domicilio", "localidad", "email", "activo") template = 'empresa/table.html' domicilio = Column(visible=False) telefono = Column(visible=False) email = Column(visible=False) actions = EditColumn('cliente.update', kwargs={"pk": A('pk')}, orderable=False, accessor='pk', verbose_name="Acciones") delete = DeleteColumn('cliente.delete', kwargs={"pk": A('pk')}, orderable=False, accessor='pk', verbose_name=" ")
class TamerPositionTable(TamerTableCommon, tables.Table): id = tables.LinkColumn('tamer-position-detail', args=[A('pk')]) position = tables.LinkColumn('tamer-position-detail', args=[A('pk')]) rate = tables.LinkColumn('tamer-position-detail', args=[A('pk')]) remove = tables.LinkColumn( 'tamer-position-delete', args=[A('pk')], verbose_name=mark_safe('<i class="fas fa-cogs"></i>'), text=mark_safe('<i class="far fa-trash-alt"></i>'), orderable=False) # end = tables.Column(visible=False) class Meta(TamerTableCommon.Meta): model = TamerPosition
class RollingAdTable(DashboardTable): title = LinkColumn('dashboard:ad-rolling_ad-update', args=[A('pk')]) image = TemplateColumn( verbose_name=_('Image'), template_name='dashboard/ad/rolling_ad_row_image.html', orderable=False) link_url = URLColumn(verbose_name=_(u'链接地址'), accessor='link_url', orderable=False) description = TemplateColumn( verbose_name=_("Description"), accessor='description', orderable=False, template_code='{{ record.description|default:""|striptags' '|cut:" "|truncatewords:6 }}') order_num = Column(verbose_name=_(u'顺序'), accessor='order_num', orderable=True) valid = Column(verbose_name=_(u'开启'), accessor='valid', orderable=False) actions = TemplateColumn( verbose_name=_('Actions'), template_name= 'dashboard/ad/rolling_ad_row_actions.html', #'dashboard/ad/rolling_ad_row_actions.html', orderable=False) icon = "sitemap" class Meta(DashboardTable.Meta): model = RollingAd fields = ('title', 'position', 'image', 'link_url', 'order_num', 'description', 'valid') sequence = ('title', 'position', 'image', 'link_url', 'order_num', 'description', 'valid', 'actions') order_by = '-order_num'
class DepartmentTable(tables.Table): # dept_no = tables.LinkColumn("department_detail", args=[A("pk")]) employees = tables.LinkColumn("dept_emps", args=[A("pk")]) # edit = tables.LinkColumn("department_change", text='edit', args=[A("pk")]) class Meta: model = Department fields = ['dept_no', 'dept_name', 'employees', 'reviewers', 'approver']
class DivisionTable(tables.Table): # division_client = tables.Column(default=' ') # division_client = tables.LinkColumn('EditDivView', args=[slugify(A('division_client'))],) division_client = tables.Column( linkify=('EditDivView', { 'division_client': A('division_client') })) the_count = tables.Column(verbose_name='Count drawings') open_count = tables.Column(verbose_name='Open drawings', empty_values=()) status = tables.Column(verbose_name='Status', empty_values=()) class Meta: template_name = 'trackdrawing/TableRender.html' attrs = { "class": "table-striped table-bordered table-sm", 'tbody': { 'id': 'DivisionTable' }, } fields = ('division_client', 'the_count') def render_open_count(self, record): return get_open(record) def render_status(self, record): if record['the_count'] == get_open(record): return 'OPEN' if get_open(record) == 0: return 'CLOSED' else: return 'IN PROGRESS'
class CheckExtractTable(tables.Table): # Used On Filter view num_cadastre = tables.LinkColumn('edit_data', args=[A('pk')]) title = tables.Column( attrs={ 'td': { 'class': 'record_title', 'data-pk': lambda record: record.id, 'data-name': 'title', 'data-type': 'textarea' } }) class Meta: model = ExtractSAP template_name = 'trackdrawing/TableRender.html' attrs = { "class": "table-striped table-bordered table-sm", 'tbody': { 'id': 'ExtractTable' }, 'search_form': { 'id': 'ExtractTable_search_form_id' }, } row_attrs = { 'data_id': lambda record: record.pk, } fields = ("title", "num_cadastre")
class ExtractTable(tables.Table): # Used on Home View title = tables.Column() num_cadastre = tables.LinkColumn('edit_data', args=[A('pk')]) typ = tables.Column(verbose_name="Type") # comment = tables.Column(verbose_name="Commentaires", empty_values=()) comment = tables.TemplateColumn('{{ record.text_field|linebreaksbr }}', verbose_name="Commentaires", empty_values=()) def render_comment(self, record): commentaire = Work_data.objects.get(id_SAP__pk=record.pk).comment return mark_safe(f_render_comment(commentaire).replace('\n', '<br>')) class Meta: # model = ExtractSAP template_name = 'trackdrawing/TableRender.html' attrs = { "class": "table-striped table-bordered table-sm", 'tbody': { 'id': 'ExtractTable' }, 'search_form': { 'id': 'ExtractTable_search_form_id' }, } fields = ( "title", "num_cadastre", )
class ExpressSendTable(DashboardTable): pickup_list_id = Column(verbose_name=u'发货单', order_by='pickup_list_id') product = Column(verbose_name=u'商品名称', accessor=A('product'), order_by='product__title') upc = TemplateColumn( verbose_name=u'商品代码', template_name='dashboard/pickup_admin/pickup_store_row_upc.html', order_by='product__upc') quantity = Column(verbose_name=u'发货数量') consignee = Column(verbose_name=u'收货人') user_address = Column(verbose_name=u'收货地址') mobile_phone = Column(verbose_name=u'联系电话') status = Column(verbose_name=u'状态') logistics_company = Column(verbose_name=u'物流公司') logistics_no = Column(verbose_name=u'物流单号') refuse_desc = Column(verbose_name=u'驳回原因') deal_datetime = Column(verbose_name=u'办理时间') actions = TemplateColumn( verbose_name=u'动作', template_name='dashboard/business/express_send_deal_action.html', orderable=False) caption = u'发货信息' icon = 'sitemap' class Meta(DashboardTable.Meta): sequence = ('pickup_list_id', 'upc', 'product', 'quantity', 'consignee', 'user_address', 'mobile_phone', 'status', 'logistics_company', 'logistics_no', 'refuse_desc', 'deal_datetime', 'actions') order_by = '-pickup_list_id'
class AppRequestTable(tables.Table): id = tables.LinkColumn('omaha_request_detail', args=[A('pk')]) date = tables.DateTimeColumn(accessor='request.created', format='r', order_by='-request__created') arch = tables.Column(accessor='request.os.arch') platform = tables.Column(accessor='request.os.platform') os = tables.Column(accessor='request.os.version', verbose_name='OS') sp = tables.Column(accessor='request.os.sp', verbose_name='Service pack') events = EventsColumn(empty_values=()) class Meta: model = AppRequest attrs = { 'class': 'paleblue table table-striped table-bordered table-hover table-condensed', 'id': 'apprequest-table' } fields = ( 'id', 'version', 'platform', 'os', 'sp', 'arch', 'date', 'events', )
class ChannelTable(tables.Table): edit = columns.LinkColumn('yunhu:channel-update', text=u'修改', args=[A('pk')], attrs={ 'a': { 'class': 'fm-update btn btn-default', 'data-fm-head': '渠道修改', 'data-fm-callback': 'reload', 'data-fm-target': '#channel-%(channel_id)s', } }) class Meta: model = ChannelModel fields = ( "id", "name", "link_h5", "check_ways", "create_time", ) row_attrs = { "id": lambda record: "-".join(["channel", str(record.pk)]) } attrs = { 'class': 'table table-striped table-bordered', } orderable = False template = "django_tables2/bootstrap.html"
class SupervisorsCoursesListTable(tables.Table): title = tables.columns.Column(verbose_name='Title of Course', ) view = tables.columns.LinkColumn('lab:course-view', kwargs={'course_slug': A('slug')}, text='Load', verbose_name='Load', orderable=False) authored_by = tables.columns.Column() id = tables.columns.Column() # created = tables.columns.DateColumn( # verbose_name='Created', # format='Y-m-d • h:i A', # ) # updated = tables.columns.DateColumn( # verbose_name='Modified', # format='Y-m-d • h:i A', # ) # is_public = tables.columns.BooleanColumn() class Meta: attrs = {'class': 'paleblue'} table_pagination = False order_by = ('authored_by', 'title') template_name = "django_tables2/bootstrap4.html"