From bd2f261dc314a6ef9713012c6587bd925439f0c6 Mon Sep 17 00:00:00 2001 From: Cayo Puigdefabregas Date: Fri, 21 Jan 2022 14:19:39 +0100 Subject: [PATCH] add device for form using the snapshot form --- ereuse_devicehub/inventory/forms.py | 54 ++++++++++++++++++++++++----- 1 file changed, 45 insertions(+), 9 deletions(-) diff --git a/ereuse_devicehub/inventory/forms.py b/ereuse_devicehub/inventory/forms.py index bcdf4563..7e2c349a 100644 --- a/ereuse_devicehub/inventory/forms.py +++ b/ereuse_devicehub/inventory/forms.py @@ -9,7 +9,7 @@ from ereuse_devicehub.db import db from ereuse_devicehub.resources.device.models import Device, Computer, Smartphone, Cellphone, \ Tablet, Monitor, Mouse, Keyboard, \ MemoryCardReader, SAI -from ereuse_devicehub.resources.action.models import RateComputer, Snapshot +from ereuse_devicehub.resources.action.models import RateComputer, Snapshot, VisualTest from ereuse_devicehub.resources.action.schemas import Snapshot as SnapshotSchema from ereuse_devicehub.resources.lot.models import Lot from ereuse_devicehub.resources.enums import SnapshotSoftware, Severity @@ -245,7 +245,7 @@ class NewDeviceForm(FlaskForm): "MemoryCardReader": MemoryCardReader} if not self.generation.data: - self.generation.data = 0 + self.generation.data = 1 if not self.weight.data: self.weight.data = 0.1 @@ -265,7 +265,7 @@ class NewDeviceForm(FlaskForm): if not is_valid: return False - if self.generation.data < 0: + if self.generation.data < 1: return False if self.weight.data < 0.1: @@ -292,12 +292,48 @@ class NewDeviceForm(FlaskForm): return True def save(self): - self.instance = self.devices[self.type.data]() - self.populate_obj(self.instance) - db.session.add(self.instance) - # import pdb; pdb.set_trace() - db.session.commit() - return self.instance + + json_snapshot = { + 'type': 'Snapshot', + 'software': 'Web', + 'version': '11.0', + 'device': { + 'type': self.type.data, + 'model': self.model.data, + 'manufacturer': self.manufacturer.data, + 'serialNumber': self.serial_number.data, + 'brand': self.brand.data, + 'version': self.version.data, + 'generation': self.generation.data, + 'sku': self.sku.data, + 'weight': self.weight.data, + 'width': self.width.data, + 'height': self.height.data, + 'depth': self.depth.data, + 'variant': self.variant.data, + 'image': self.image.data + } + } + + if self.imei.data or self.meid.data: + json_snapshot['device']['imei'] = self.imei.data + json_snapshot['device']['meid'] = self.meid.data + + if self.resolution.data or self.screen.data: + json_snapshot['device']['resolution'] = self.resolution.data + json_snapshot['device']['screen'] = self.screen.data + + if self.appearance.data or self.functionality.data: + json_snapshot['device']['actions'] = [{ + 'type': 'VisualTest', + 'appearanceRange': self.appearance.data, + 'functionalityRange': self.functionality.data + }] + + upload_form = UploadSnapshotForm() + upload_form.snapshots = [("Web", json_snapshot)] + upload_form.result = {} + upload_form.save() class NewActionForm(FlaskForm):