def pending_data(status, event_id):
"""Return server side data."""
# defining columns
columns = []
columns.append(ColumnDT('id'))
columns.append(ColumnDT('ioc'))
columns.append(ColumnDT('itype.name'))
columns.append(ColumnDT('control.name'))
columns.append(ColumnDT('comment'))
columns.append(ColumnDT('enrich'))
columns.append(ColumnDT('first_seen'))
base_query = db.session.query(Indicator).join(Control).join(Itype)
if status == 'pending':
columns.append(ColumnDT('event_id'))
columns.append(ColumnDT('event.name'))
query = base_query.join(Event).filter(Indicator.pending == True)
elif status == 'search':
columns.append(ColumnDT('event_id'))
columns.append(ColumnDT('event.name'))
query = base_query.join(Event).filter(Indicator.pending == False)
elif status == 'approved':
columns.append(ColumnDT('last_seen'))
columns.append(ColumnDT('rel_list'))
query = base_query.filter(Indicator.event_id == event_id).filter(Indicator.pending == False )
else:
query = base_query.filter(Indicator.pending == True)
rowTable = DataTables(request.args, Indicator, query, columns)
#xss catch just to be safe
res = rowTable.output_result()
for item in res['data']:
for k,v in item.iteritems():
item[k] = escape(v)
return jsonify(res)
评论列表
文章目录