join all snapshots logs in one for every uuid
This commit is contained in:
parent
cea143dcbe
commit
744b14f286
|
@ -519,13 +519,42 @@ class SnapshotListView(GenericMixin):
|
||||||
def dispatch_request(self):
|
def dispatch_request(self):
|
||||||
self.get_context()
|
self.get_context()
|
||||||
self.context['page_title'] = "Snapshots Logs"
|
self.context['page_title'] = "Snapshots Logs"
|
||||||
snapshots_log = SnapshotsLog.query.filter(
|
self.context['snapshots_log'] = self.get_snapshots_log()
|
||||||
SnapshotsLog.owner == current_user
|
|
||||||
).order_by(SnapshotsLog.created.desc())
|
|
||||||
self.context['snapshots_log'] = snapshots_log
|
|
||||||
|
|
||||||
return flask.render_template(self.template_name, **self.context)
|
return flask.render_template(self.template_name, **self.context)
|
||||||
|
|
||||||
|
def get_snapshots_log(self):
|
||||||
|
snapshots_log = SnapshotsLog.query.filter(
|
||||||
|
SnapshotsLog.owner == g.user
|
||||||
|
).order_by(SnapshotsLog.created.desc())
|
||||||
|
logs = {}
|
||||||
|
for snap in snapshots_log:
|
||||||
|
if snap.snapshot_uuid not in logs:
|
||||||
|
logs[snap.snapshot_uuid] = {
|
||||||
|
'sid': snap.sid,
|
||||||
|
'snapshot_uuid': snap.snapshot_uuid,
|
||||||
|
'version': snap.version,
|
||||||
|
'device': snap.snapshot.device.devicehub_id
|
||||||
|
if snap.snapshot
|
||||||
|
else '',
|
||||||
|
'status': snap.get_status(),
|
||||||
|
'severity': snap.severity,
|
||||||
|
'created': snap.created,
|
||||||
|
}
|
||||||
|
continue
|
||||||
|
|
||||||
|
if snap.created > logs[snap.snapshot_uuid]['created']:
|
||||||
|
logs[snap.snapshot_uuid]['created'] = snap.created
|
||||||
|
|
||||||
|
if snap.severity > logs[snap.snapshot_uuid]['severity']:
|
||||||
|
logs[snap.snapshot_uuid]['severity'] = snap.severity
|
||||||
|
logs[snap.snapshot_uuid]['status'] = snap.get_status()
|
||||||
|
|
||||||
|
result = sorted(logs.values(), key=lambda d: d['created'])
|
||||||
|
result.reverse()
|
||||||
|
|
||||||
|
return result
|
||||||
|
|
||||||
|
|
||||||
devices.add_url_rule('/action/add/', view_func=NewActionView.as_view('action_add'))
|
devices.add_url_rule('/action/add/', view_func=NewActionView.as_view('action_add'))
|
||||||
devices.add_url_rule('/action/trade/add/', view_func=NewTradeView.as_view('trade_add'))
|
devices.add_url_rule('/action/trade/add/', view_func=NewTradeView.as_view('trade_add'))
|
||||||
|
|
|
@ -30,7 +30,6 @@
|
||||||
<th scope="col">Version</th>
|
<th scope="col">Version</th>
|
||||||
<th scope="col">Device</th>
|
<th scope="col">Device</th>
|
||||||
<th scope="col">Status</th>
|
<th scope="col">Status</th>
|
||||||
<th scope="col">Description</th>
|
|
||||||
<th scope="col" data-type="date" data-format="DD-MM-YYYY">Time</th>
|
<th scope="col" data-type="date" data-format="DD-MM-YYYY">Time</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
|
@ -47,17 +46,14 @@
|
||||||
{{ snap.version }}
|
{{ snap.version }}
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
{% if snap.snapshot %}
|
{% if snap.device %}
|
||||||
<a href="{{ url_for('inventory.device_details', id=snap.snapshot.device.devicehub_id)}}">
|
<a href="{{ url_for('inventory.device_details', id=snap.device) }}">
|
||||||
{{ snap.snapshot.device.devicehub_id }}
|
{{ snap.device }}
|
||||||
</a>
|
</a>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
{{ snap.get_status() }}
|
{{ snap.status }}
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
{{ snap.description }}
|
|
||||||
</td>
|
</td>
|
||||||
<td>{{ snap.created.strftime('%H:%M %d-%m-%Y') }}</td>
|
<td>{{ snap.created.strftime('%H:%M %d-%m-%Y') }}</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
Reference in New Issue