class AlarmTable(t.Table): ack = t.Action(name=u'确认', endpoint='alarms.alarms_ack', modalable=True) clear = t.Action(name=u'清除', endpoint='alarms.alarms_clear', modalable=True) check = t.CheckBoxColumn() severity = SeverityColumn() alarm_state = t.EnumColumn(u'状态', name='alarm-state', enums=constants.STATES, orderable=True) alarm_alias = t.LinkColumn(u'名称', endpoint='alarms.alarms_show', orderable=True) node_alias = t.LinkColumn(u'节点', accessor='node.alias', orderable=True) node_addr = t.Column(u'节点地址', accessor='node.addr', orderable=True) summary = t.Column(u'详细') occur_count = t.Column(u'发生次数') last_occurrence = t.Column(u'最后发生时间', orderable=True) class Meta: model = Alarm per_page = 30 order_by = '-last_occurrence' url_makers = { 'node_alias': lambda record: redirect_node_show(record.node), 'node_addr': lambda record: redirect_node_show(record.node) }
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 AlarmClassTable(t.Table): name = t.LinkColumn(u'名称', endpoint='alarms.classes_edit', orderable=True) alias = t.LinkColumn(u'显示名', endpoint='alarms.classes_edit', orderable=True) category = t.Column(u'分类', accessor="category.alias") severity = SeverityColumn() probable_cause = t.Column(u'可能原因') specific_problem = t.Column(u'特定原因') additional_info = t.Column(u'附加信息') remark = t.Column(u'备注') class Meta: model = AlarmClass per_page = 50 order_by = 'id'
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 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 HistoryTable(t.Table): severity = SeverityColumn() alarm_alias = t.LinkColumn(u'名称', endpoint='alarms.history_show', orderable=True) node_alias = t.LinkColumn(u'节点', orderable=True) #accessor='node.alias', node_addr = t.Column(u'节点地址') summary = t.Column(u'详细') occur_count = t.Column(u'发生次数') last_occurrence = t.Column(u'最后发生时间', orderable=True) created_at = t.Column(u'迁移历史时间') class Meta: model = History per_page = 30 order_by = '-created_at' url_makers = { 'node_alias': lambda record: redirect_node_show(record.node) }
class MetricTable(tables.Table): helpdoc = u'指标管理' edit = tables.Action(name=u'编辑', endpoint='system.metrics_edit') delete = tables.Action(name=u'删除', endpoint='system.metrics_delete', modalable=True) check = tables.CheckBoxColumn() grp = tables.Column(u'分组') name = tables.LinkColumn(u'名称', endpoint='system.metrics_edit') alias = tables.LinkColumn(u'显示名', endpoint='system.metrics_edit') calc = tables.Column(u'计算方法') unit = tables.Column(u'单位') format = tables.Column(u'格式') descr = tables.Column(u'说明') class Meta(): model = Metric group_by = 'grp'
class TimePeriodTable(tables.Table): helpdoc = u'采集规则' edit = tables.Action(name=u'编辑', endpoint='system.timeperiods_edit') check = tables.CheckBoxColumn() name = tables.LinkColumn(u'名称', endpoint='system.timeperiods_edit', orderable=True) alias = tables.LinkColumn(u'显示名', endpoint='system.timeperiods_edit', orderable=True) _hour = tables.Column(u'小时') _dayofmonth = tables.Column(u'日期') _month = tables.Column(u'月份') _dayofweek = tables.Column(u'星期') status = tables.Column(u'状态') created_at = tables.Column(u'创建日期') class Meta: model = TimePeriod
class QueryTable(t.Table): #edit = t.Action(name=u'Edit', endpoint='alarms.query_edit') check = t.CheckBoxColumn() name = t.LinkColumn(u'名称', endpoint='alarms.query_edit', orderable=True) is_public = t.Column(u'是否公开', orderable=True) created_at = t.Column(u'创建时间', orderable=True) updated_at = t.Column(u'最后更新时间') class Meta: model = Query per_page = 30 order_by = '-created_at'
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 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 AlarmKnowledgeTable(t.Table): class_alias = t.LinkColumn(u'故障名称', endpoint='alarms.knowledges_edit', accessor='alarm_class.alias', orderable=True) probable_cause = t.Column(u'可能原因') resolvent = t.Column(u'解决方法') probability = t.EnumColumn(u'发生概率', 'probability', enums={ 1: u'极少发生', 2: u'偶尔发生', 3: u'频繁发生' }) apply_count = t.Column(u'应用次数') class Meta: model = AlarmKnowledge per_page = 50 order_by = '-id'
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 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), }