diff --git a/modules/caissedepargne/browser.py b/modules/caissedepargne/browser.py index e6d055f18c9f10f04cba650734a83d3ad67d494e..a3a004f44f0c4c5395f5acdd7fc1275a587f3c5e 100644 --- a/modules/caissedepargne/browser.py +++ b/modules/caissedepargne/browser.py @@ -672,6 +672,13 @@ def iter_recipients(self, origin_account): if origin_account.type == Account.TYPE_LOAN: return [] + if 'pro' in self.url: + # If transfer is not yet allowed, the next step will send a sms to the customer to validate it + self.home.go() + self.page.go_pro_transfer_availability() + if not self.page.is_transfer_allowed(): + return [] + # Transfer unavailable try: self.pre_transfer(origin_account) diff --git a/modules/caissedepargne/pages.py b/modules/caissedepargne/pages.py index 01b031eec528866870cb45ca1bb739021c49bacb..5d13b6ecd60cd6128d95b57464872bdcf4970e49 100644 --- a/modules/caissedepargne/pages.py +++ b/modules/caissedepargne/pages.py @@ -739,6 +739,16 @@ def go_subscription(self): form['__EVENTARGUMENT'] = re.search(r'Ajax", "(.*)", true', link).group(1) form.submit() + def go_pro_transfer_availability(self): + form = self.get_form(id='main') + form['__EVENTTARGET'] = 'Menu_AJAX' + form['__EVENTARGUMENT'] = 'VIRLSRM0' + form['m_ScriptManager'] = 'm_ScriptManager|Menu_AJAX' + form.submit() + + def is_transfer_allowed(self): + return not self.doc.xpath('//ul/li[contains(text(), "Aucun compte tiers n\'est disponible")]') + class ConsLoanPage(JsonPage): def get_conso(self):