diff --git a/easy_my_coop/models/coop.py b/easy_my_coop/models/coop.py index 6d8f71a..9455860 100644 --- a/easy_my_coop/models/coop.py +++ b/easy_my_coop/models/coop.py @@ -107,21 +107,23 @@ class SubscriptionRequest(models.Model): return True def check_iban(self, iban): - validated = True - if iban: - try: + try: + if iban: validate_iban(iban) - except ValidationError: - validated = False - return validated + return True + else: + return False + except ValidationError: + return False @api.multi - @api.depends('iban', 'skip_control_ng', 'is_company') + @api.depends('iban', 'skip_control_ng') def _validated_lines(self): for sub_request in self: - validated = (self.check_iban(sub_request.iban) - or sub_request.skip_control_ng - ) + validated = ( + sub_request.skip_control_ng + or self.check_iban(sub_request.iban) + ) sub_request.validated = validated @api.multi diff --git a/easy_my_coop/tests/test_emc.py b/easy_my_coop/tests/test_emc.py index 6bd01d8..f6b97f2 100644 --- a/easy_my_coop/tests/test_emc.py +++ b/easy_my_coop/tests/test_emc.py @@ -173,3 +173,28 @@ class EMCCase(EMCBaseCase): ) share_type.list_price = 30 share_type.unlink() + + def test_validated_lines_on_subscription_request(self): + request = self.request + self.assertFalse(request.skip_control_ng) + self.assertFalse(request.iban) + + # empty iban - don't skip + self.assertFalse(request.validated) + + # good iban - don't skip + request.skip_control_ng = False + self.request.iban = "BE71096123456769" + self.assertTrue(request.validated) + + # wrong iban - don't skip + self.request.iban = "xxxx" + self.assertFalse(request.validated) + + # wrong iban - skip + request.skip_control_ng = True + self.assertTrue(request.validated) + + # empty iban - skip + self.request.iban = False + self.assertTrue(request.validated) diff --git a/easy_my_coop/views/subscription_request_view.xml b/easy_my_coop/views/subscription_request_view.xml index e6ecc23..74a212d 100644 --- a/easy_my_coop/views/subscription_request_view.xml +++ b/easy_my_coop/views/subscription_request_view.xml @@ -19,7 +19,7 @@ -