From 00d2b2e81f46ac3bbe12d08dcafb623c9da60755 Mon Sep 17 00:00:00 2001 From: Cayo Puigdefabregas Date: Wed, 16 Jun 2021 11:55:05 +0200 Subject: [PATCH] fixing bug taiga 2280 --- ereuse_devicehub/resources/action/schemas.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/ereuse_devicehub/resources/action/schemas.py b/ereuse_devicehub/resources/action/schemas.py index 8922f52c..fc168814 100644 --- a/ereuse_devicehub/resources/action/schemas.py +++ b/ereuse_devicehub/resources/action/schemas.py @@ -577,11 +577,19 @@ class Trade(ActionWithMultipleDevices): @validates_schema def validate_email_users(self, data: dict): """We need at least one user""" - if not (data['user_from_email'] or data['user_to_email']): + confirm = data['confirm'] + user_from = data['user_from_email'] + user_to = data['user_to_email'] + + if not (user_from or user_to): txt = "you need one user from or user to for to do a trade" raise ValidationError(txt) - if not g.user.email in [data['user_from_email'], data['user_to_email']]: + if confirm and not (user_from and user_to): + txt = "you need one user for to do a trade" + raise ValidationError(txt) + + if not g.user.email in [user_from, user_to]: txt = "you need to be one of participate of the action" raise ValidationError(txt) @@ -596,7 +604,8 @@ class Trade(ActionWithMultipleDevices): txt = "you need a code to be able to do the traceability" raise ValidationError(txt) - data['code'] = data['code'].replace('@', '_') + if not data['confirm']: + data['code'] = data['code'].replace('@', '_') class InitTransfer(Trade):