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 @@
-
+
@@ -40,6 +40,7 @@
+
@@ -73,7 +74,6 @@
-