diff --git a/ereuse_devicehub/inventory/views.py b/ereuse_devicehub/inventory/views.py index 1e0896de..47681ff5 100644 --- a/ereuse_devicehub/inventory/views.py +++ b/ereuse_devicehub/inventory/views.py @@ -724,7 +724,7 @@ class NewTradeView(DeviceListMixin, NewActionView): return flask.redirect(next_url) -class NewTradeDocumentView(View): +class NewTradeDocumentView(GenericMixin): methods = ['POST', 'GET'] decorators = [login_required] template_name = 'inventory/trade_document.html' @@ -1137,6 +1137,9 @@ class SnapshotListView(GenericMixin): 'status': snap.get_status(), 'severity': snap.severity, 'created': snap.created, + 'type_device': snap.get_type_device(), + 'original_dhid': snap.get_original_dhid(), + 'new_device': snap.get_new_device(), } continue diff --git a/ereuse_devicehub/parser/models.py b/ereuse_devicehub/parser/models.py index 769e43a1..4d298af0 100644 --- a/ereuse_devicehub/parser/models.py +++ b/ereuse_devicehub/parser/models.py @@ -48,6 +48,36 @@ class SnapshotsLog(Thing): return '' + def get_original_dhid(self): + if self.snapshot: + dev = self.snapshot.device + if dev.dhid_bk: + return dev.dhid_bk + + return self.get_device() + + def get_type_device(self): + if self.snapshot: + if self.snapshot.device.binding: + return self.snapshot.device.binding.status + + return '' + + def get_new_device(self): + if not self.snapshot: + return '' + + if not self.snapshot.device: + return '' + + snapshots = [] + for s in self.snapshot.device.actions: + if s == self.snapshot: + continue + if s.type == self.snapshot.type: + snapshots.append(s) + return snapshots and 'Update' or 'New Device' + class PlaceholdersLog(Thing): """A Placeholder log.""" diff --git a/ereuse_devicehub/templates/inventory/snapshots_list.html b/ereuse_devicehub/templates/inventory/snapshots_list.html index 77e37ae5..2c6b5645 100644 --- a/ereuse_devicehub/templates/inventory/snapshots_list.html +++ b/ereuse_devicehub/templates/inventory/snapshots_list.html @@ -31,6 +31,9 @@