Hi all, While working on two fixes for force withdrawals on savings accounts ( FINERACT-2797 <https://issues.apache.org/jira/browse/FINERACT-2797>, PR #6631 <https://github.com/apache/fineract/pull/6631>, and FINERACT-2929 <https://issues.apache.org/jira/browse/FINERACT-2929>, pending PR), I noticed something in the configuration that I would like your opinion on before writing any code.
Force withdrawals (FINERACT-2471 <https://issues.apache.org/jira/browse/FINERACT-2471>, released in 1.15.0) are controlled by two global configurations: - allow-force-withdrawal-on-savings-account - force-withdrawal-on-savings-account-limit Only one attribute of each is read by the code: the "enabled" flag of the first and the "value" of the second. The other two attributes are unused, so the same setting is spread across two rows. I propose keeping only allow-force-withdrawal-on-savings-account, using "enabled" to switch the feature on and "value" for the maximum negative balance, and removing the limit configuration. A Liquibase migration would copy the existing limit into the remaining row and delete the other one, so installations that are already configured would keep the same behaviour. Because the feature has already been released, this changes a published configuration name, so I would like to ask: 1. Should the old configuration be removed in 1.16.0, or deprecated for a release first? 2. What should enabled=true with value=0 mean? Today it allows no negative balance. 3. Does anyone rely on the current configuration names? 4. Would there be interest in a way to enable force withdrawals with no limit at all? I would treat it as a separate change. "0" cannot mean unlimited, because today it means "no negative balance" and it is the default, and a negative value is already accepted as a limit, so an explicit representation would be needed. I would keep the merge itself behaviour-preserving, and handle any "no limit" option afterwards, since it is a different kind of decision. Details are in FINERACT-2934 <https://issues.apache.org/jira/browse/FINERACT-2934>. I am happy to implement it in a separate pull request, after the two fixes above, if there is agreement. Thanks, Josue Araujo Enviado desde mi PC con GNU/Linux
