diff --git a/modules/creditmutuel/browser.py b/modules/creditmutuel/browser.py index 7a2b6d62383c340d136bbb9923f46ba75df3932d..e5af4413344b500a6a7dd93211f35fe32f984ba5 100644 --- a/modules/creditmutuel/browser.py +++ b/modules/creditmutuel/browser.py @@ -984,6 +984,8 @@ def init_transfer(self, transfer, account, recipient): self.key_form = self.page.get_personal_key_card_code_form() raise TransferStep(transfer, Value('Clé', label=self.page.get_question())) + elif self.page.needs_otp_validation(): + raise AuthMethodNotImplemented("La validation des transferts avec un code sms n'est pas encore disponible.") msg = self.page.get_validation_msg() if msg: diff --git a/modules/creditmutuel/pages.py b/modules/creditmutuel/pages.py index 1547b9b23655aaa46e119f69bca949e80e5ce09a..cd03c53816b490d0df3dbce6ad33ad2afbd045af 100644 --- a/modules/creditmutuel/pages.py +++ b/modules/creditmutuel/pages.py @@ -2054,6 +2054,9 @@ class InternalTransferPage(LoggedPage, HTMLPage, AppValidationPage): def needs_personal_key_card_validation(self): return bool(CleanText('//div[contains(@class, "alerte")]/p[contains(text(), "Cette opération nécessite une sécurité supplémentaire")]')(self.doc)) + def needs_otp_validation(self): + return bool(self.doc.xpath('//input[@name="otp_password"]')) + def can_transfer_pro(self, origin_account): for li in self.doc.xpath('//ul[@id="idDetailsListCptDebiterVertical:ul"]//ul/li'): if CleanText(li.xpath('.//span[@class="_c1 doux _c1"]'), replace=[(' ', '')])(self) in origin_account: