From 4b7a40e6c1545f273302ffc92ca0f7ad93f87a5e Mon Sep 17 00:00:00 2001 From: Cayo Puigdefabregas Date: Wed, 16 Jun 2021 10:53:18 +0200 Subject: [PATCH] bugfix 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 2a54e789..8a3d7cf4 100644 --- a/ereuse_devicehub/resources/action/schemas.py +++ b/ereuse_devicehub/resources/action/schemas.py @@ -721,11 +721,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) @@ -740,7 +748,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):