From 9bfc177697ef3de057581e04daf54fc91281ede5 Mon Sep 17 00:00:00 2001 From: Carlos Ruiz Date: Fri, 12 Aug 2022 11:30:54 +0200 Subject: [PATCH] IDEMPIERE-5378 MFA must allow to select the mechanism when the user has several registered (FHCA-3808) (#1434) * IDEMPIERE-5378 MFA must allow to select the mechanism when the user has several registered (FHCA-3808) * IDEMPIERE-5378 auto select when TOTP is the only mechanism --- .../org/adempiere/webui/panel/ValidateMFAPanel.java | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/ValidateMFAPanel.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/ValidateMFAPanel.java index 290c05c74d..47a34992f5 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/ValidateMFAPanel.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/ValidateMFAPanel.java @@ -26,6 +26,7 @@ package org.adempiere.webui.panel; import java.sql.Timestamp; +import java.util.List; import java.util.Properties; import java.util.UUID; import java.util.logging.Level; @@ -260,14 +261,11 @@ public class ValidateMFAPanel extends Window implements EventListener { lstMFAMechanism.setAutocomplete(true); lstMFAMechanism.setAutodrop(true); lstMFAMechanism.setId("lstMFAMechanism"); - boolean first = true; - for (MMFARegistration reg : MMFARegistration.getValidRegistrationsFromUser()) { + List regs = MMFARegistration.getValidRegistrationsFromUser(); + for (MMFARegistration reg : regs) { MMFAMethod method = new MMFAMethod(m_ctx, reg.getMFA_Method_ID(), reg.get_TrxName()); - if (first) { - first = false; - if (MMFAMethod.METHOD_Time_BasedOne_TimePassword.equals(method.getMethod())) { - m_autoCall = true; - } + if (regs.size() == 1 && MMFAMethod.METHOD_Time_BasedOne_TimePassword.equals(method.getMethod())) { + m_autoCall = true; } ComboItem ci = new ComboItem(reg.getName() + " - " + method.getMethod(), reg.getMFA_Registration_ID()); String id = AdempiereIdGenerator.escapeId(ci.getLabel());