class NodeTable(tables.Table): edit = tables.Action(name=u'编辑', url=lambda record: redirect_node_edit(record)) delete = tables.Action(name=u'删除', endpoint='nodes.nodes_delete', attrs=Attrs(a={"class": "delete"})) check = tables.CheckBoxColumn() status = StatusColumn() name = tables.LinkColumn(u'名称', orderable=True) alias = tables.Column(u'别名', orderable=True) category = tables.Column(u'节点类型', orderable=True, accessor='category.alias') vendor_name = tables.Column(u'厂商', orderable=True, accessor='vendor.alias') model_name = tables.Column(u'型号', orderable=True, accessor='model.alias') addr = tables.Column(u'IP', orderable=True) area_name = tables.Column(u'所属区域', accessor='area.full_name') last_check = tables.Column(u'上次同步', orderable=True) summary = tables.Column(u'状态信息') class Meta(): model = Node per_page = 30 url_makers = { 'name': lambda record: redirect_node_show(record), 'edit': lambda record: redirect_node_show(record) }
class Meta(): attrs = Attrs( label={ 'style': 'width:80px;text-align: right;padding-bottom: 10px;' }, field={'style': 'padding-left: 10px;padding-bottom: 10px;'}) list_display = ('area', 'category_id', 'vendor_id', 'model_id')
class CpeTable(tables.Table): edit = tables.Action(name=u'编辑', endpoint='nodes.cpes_edit') delete = tables.Action(name=u'删除', endpoint='nodes.cpes_delete', attrs=Attrs(a={"class": "delete"})) check = tables.CheckBoxColumn() status = StatusColumn() name = tables.LinkColumn(endpoint='nodes.cpes_show', verbose_name=u'名称', orderable=True) alias = tables.Column(verbose_name=u'别名', orderable=True) vendor_name = tables.Column(verbose_name=u'厂商', orderable=True, accessor='vendor.alias') model_name = tables.Column(verbose_name=u'型号', orderable=True, accessor='model.alias') mac = tables.Column(verbose_name=u'Mac地址', orderable=True) area_name = tables.Column(verbose_name=u'所属区域', accessor='area.full_name') eoc_name = tables.LinkColumn(verbose_name=u'所属EOC', accessor='eoc.name') last_check = tables.Column(verbose_name=u'上次同步', orderable=True) class Meta(): model = NodeCpe per_page = 30 url_makers = { 'eoc_name': lambda record: url_for('nodes.eocs_show', id=record.eoc.id), }
class EocTable(tables.Table): edit = tables.Action(name=u'编辑', endpoint='nodes.eocs_edit') delete = tables.Action(name=u'删除', endpoint='nodes.eocs_delete', attrs=Attrs(a={"class": "delete"})) check = tables.CheckBoxColumn() status = StatusColumn() name = tables.LinkColumn(u'名称', endpoint='nodes.eocs_show', orderable=True) alias = tables.Column(u'别名', orderable=True) vendor_name = tables.Column(u'厂商', orderable=True, accessor='vendor.alias') model_name = tables.Column(u'型号', orderable=True, accessor='model.alias') addr = tables.Column(u'IP', orderable=True) area_name = tables.Column(u'所属区域', accessor='area.full_name') onu_name = tables.Column(u'所属ONU', accessor='onu.name') last_check = tables.Column(u'上次同步', orderable=True) cpe_count_plan = tables.Column(u'CPE终端数量') cpe_count_unplan = tables.Column(u'未规划CPE终端') class Meta(): model = NodeEoc per_page = 30 url_makers = { 'onu_name': lambda record: url_for('nodes.onus_show', id=record.olt.id), }
class OltTable(tables.Table): edit = tables.Action(name=u'编辑', endpoint='nodes.olts_edit') delete = tables.Action(name=u'删除', endpoint='nodes.olts_delete', attrs=Attrs(a={"class": "delete"})) check = tables.CheckBoxColumn() status = StatusColumn() name = tables.LinkColumn(u'名称', endpoint='nodes.olts_show', orderable=True) alias = tables.Column(u'别名', orderable=True) vendor_name = tables.Column(u'厂商', orderable=True, accessor='vendor.alias') model_name = tables.Column(u'型号', orderable=True, accessor='model.alias') addr = tables.Column(u'IP', orderable=True) area_name = tables.Column(u'所属区域', accessor='area.full_name') last_check = tables.Column(u'上次同步', orderable=True) onu_count_plan = tables.Column(u'ONU数量') onu_count_unplan = tables.Column(u'未规划ONU') class Meta(): model = NodeOlt per_page = 30
class RouterTable(tables.Table): edit = tables.Action(name=u'编辑', endpoint='nodes.routers_edit') delete = tables.Action(name=u'删除', endpoint='nodes.routers_delete', attrs=Attrs(a={"class": "delete"})) check = tables.CheckBoxColumn() status = StatusColumn() name = tables.LinkColumn(u'名称', endpoint='nodes.routers_show', orderable=True) alias = tables.Column(u'别名', orderable=True) addr = tables.Column(u'IP', orderable=True) area_name = tables.Column(u'所属区域', accessor='area.full_name') vendor_name = tables.Column(u'厂商', orderable=True, accessor='vendor.alias') model_name = tables.Column(u'型号', orderable=True, accessor='model.alias') last_check = tables.Column(u'上次同步', orderable=True) location = tables.Column(u'位置') class Meta(): model = NodeRouter per_page = 30
class OnuTable(tables.Table): edit = tables.Action(name=u'编辑', endpoint='nodes.onus_edit') delete = tables.Action(name=u'删除', endpoint='nodes.onus_delete', attrs=Attrs(a={"class": "delete"})) check = tables.CheckBoxColumn() status = StatusColumn() name = tables.LinkColumn(u'名称', endpoint='nodes.onus_show', orderable=True) alias = tables.Column(u'别名', orderable=True) addr = tables.Column(u'IP', orderable=True) area_name = tables.Column(u'所属区域', accessor='area.full_name') vendor_name = tables.Column(u'厂商', orderable=True, accessor='vendor.alias') model_name = tables.Column(u'型号', orderable=True, accessor='model.alias') mac = tables.Column(u'认证标识', orderable=True) olt_border_no = tables.Column(u'OLT板位') olt_name = tables.LinkColumn(u'所属OLT', accessor='olt.name') class Meta(): model = NodeOnu per_page = 30 url_makers = { 'olt_name': lambda record: url_for('nodes.olts_show', id=record.olt.id), }
class EntranceTable(tables.Table): edit = tables.Action(name=u'编辑', endpoint='nodes.entrances_edit') delete = tables.Action(name=u'删除', endpoint='nodes.entrances_delete', attrs=Attrs(a={"class": "delete"})) check = tables.CheckBoxColumn() alias = tables.Column(u'接入点名称', orderable=True) total_count = tables.LinkColumn(u'节点') router_count = tables.LinkColumn(u'路由器') switch_count = tables.LinkColumn(u'交换机') firewall_count = tables.LinkColumn(u'防火墙') bras_count = tables.LinkColumn(u'BRAS') onu_count = tables.LinkColumn(u'ONU') ac_count = tables.LinkColumn(u'AC') fatap_count = tables.LinkColumn(u'FatAP') fitap_count = tables.LinkColumn(u'FitAP') dslam_count = tables.LinkColumn(u'DSLAM') cpe_count = tables.LinkColumn(u'CPE') class Meta(): model = Area url_makers = { 'total_count': lambda record: url_for('nodes.nodes', area=record.name, area_netloc='areas.entrance=' + str(record. id), area_selected=record.id), 'router_count': lambda record: url_for('nodes.routers', area=record.name, area_netloc='areas.entrance=' + str(record. id), area_selected=record.id), 'switch_count': lambda record: url_for('nodes.switches', area=record.name, area_netloc='areas.entrance=' + str(record. id), area_selected=record.id), 'firewall_count': lambda record: url_for('nodes.nodes', area=record.name, area_netloc='areas.entrance=' + str(record. id), area_selected=record.id), 'bras_count': lambda record: url_for('nodes.nodes', area=record.name, area_netloc='areas.entrance=' + str(record. id), area_selected=record.id), 'onu_count': lambda record: url_for('nodes.onus', area=record.name, area_netloc='areas.entrance=' + str(record. id), area_selected=record.id), 'ac_count': lambda record: url_for('nodes.nodes', area=record.name, area_netloc='areas.entrance=' + str(record. id), area_selected=record.id), 'fatap_count': lambda record: url_for('nodes.nodes', area=record.name, area_netloc='areas.entrance=' + str(record. id), area_selected=record.id), 'fitap_count': lambda record: url_for('nodes.nodes', area=record.name, area_netloc='areas.entrance=' + str(record. id), area_selected=record.id), 'dslam_count': lambda record: url_for('nodes.nodes', area=record.name, area_netloc='areas.entrance=' + str(record. id), area_selected=record.id), 'cpe_count': lambda record: url_for('nodes.cpes', area=record.name, area_netloc='areas.entrance=' + str(record. id), area_selected=record.id), }
def set_attrs(self): attrs = getattr(self.Meta, 'attrs', {}) or Attrs() self.table_attrs = AttributeDict(**(attrs.get('table') or {})) self.label_attrs = AttributeDict(**(attrs.get('label') or {})) self.field_attrs = AttributeDict(**(attrs.get('field') or {}))