Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix problems with editing account names #6167

Merged
merged 3 commits into from Apr 27, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -41,18 +41,14 @@
@Slf4j
public abstract class BankAccountPayload extends CountryBasedPaymentAccountPayload implements PayloadWithHolderName {
protected String holderName = "";
@Nullable
protected String bankName;
@Nullable
protected String branchId;
@Nullable
protected String accountNr;
protected String bankName = "";
protected String branchId = "";
protected String accountNr = "";
@Nullable
protected String accountType;
@Nullable
protected String holderTaxId;
@Nullable
protected String bankId;
protected String bankId = "";
@Nullable
protected String nationalAccountId;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,20 +46,16 @@ public class CashDepositAccountPayload extends CountryBasedPaymentAccountPayload
private String holderName = "";
@Nullable
private String holderEmail;
@Nullable
private String bankName;
@Nullable
private String branchId;
@Nullable
private String accountNr;
private String bankName = "";
private String branchId = "";
private String accountNr = "";
@Nullable
private String accountType;
@Nullable
private String requirements;
@Nullable
private String holderTaxId;
@Nullable
private String bankId;
private String bankId = "";
@Nullable
protected String nationalAccountId;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -396,17 +396,12 @@ private void addHolderNameAndId() {
});
}

@Override
protected void autoFillNameTextField() {
autoFillAccountTextFields(bankAccountPayload);
}

@Override
public void updateAllInputsValid() {
boolean result = isAccountNameValid()
&& paymentAccount.getSingleTradeCurrency() != null
&& getCountryBasedPaymentAccount().getCountry() != null
&& holderNameInputTextField.getValidator().validate(bankAccountPayload.getHolderName()).isValid;
&& inputValidator.validate(bankAccountPayload.getHolderName()).isValid;

String countryCode = bankAccountPayload.getCountryCode();
result = getValidationResult(result, countryCode,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@
import bisq.core.locale.TradeCurrency;
import bisq.core.payment.CountryBasedPaymentAccount;
import bisq.core.payment.PaymentAccount;
import bisq.core.payment.payload.BankAccountPayload;
import bisq.core.payment.payload.CashDepositAccountPayload;
import bisq.core.payment.payload.PaymentAccountPayload;
import bisq.core.util.coin.CoinFormatter;
Expand Down Expand Up @@ -444,18 +445,13 @@ private void addHolderNameAndId() {
});
}

@Override
protected void autoFillNameTextField() {
autoFillAccountTextFields(cashDepositAccountPayload);
}

@Override
public void updateAllInputsValid() {
boolean result = isAccountNameValid()
&& paymentAccount.getSingleTradeCurrency() != null
&& getCountryBasedPaymentAccount().getCountry() != null
&& holderNameInputTextField.getValidator().validate(cashDepositAccountPayload.getHolderName()).isValid
&& emailInputTextField.getValidator().validate(cashDepositAccountPayload.getHolderEmail()).isValid;
&& inputValidator.validate(cashDepositAccountPayload.getHolderName()).isValid
&& emailValidator.validate(cashDepositAccountPayload.getHolderEmail()).isValid;

String countryCode = cashDepositAccountPayload.getCountryCode();
result = getValidationResult(result, countryCode,
Expand Down Expand Up @@ -483,4 +479,24 @@ private void addHolderNameAndIdForDisplayAccount() {
cashDepositAccountPayload.getHolderName());
}
}

@Override
protected String getBankId() {
return ((CashDepositAccountPayload) paymentAccount.paymentAccountPayload).getBankId();
}

@Override
protected String getBranchId() {
return ((CashDepositAccountPayload) paymentAccount.paymentAccountPayload).getBranchId();
}

@Override
protected String getBankName() {
return ((CashDepositAccountPayload) paymentAccount.paymentAccountPayload).getBankName();
}

@Override
protected String getAccountNr() {
return ((CashDepositAccountPayload) paymentAccount.paymentAccountPayload).getAccountNr();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@
import bisq.core.locale.BankUtil;
import bisq.core.locale.Res;
import bisq.core.payment.PaymentAccount;
import bisq.core.payment.payload.BankAccountPayload;
import bisq.core.payment.payload.CashDepositAccountPayload;
import bisq.core.payment.payload.CountryBasedPaymentAccountPayload;
import bisq.core.util.coin.CoinFormatter;
import bisq.core.util.validation.InputValidator;
Expand Down Expand Up @@ -135,27 +137,28 @@ void updateHolderIDInput(String countryCode, boolean requiresHolderId) {
}
}

void autoFillAccountTextFields(CountryBasedPaymentAccountPayload paymentAccountPayload) {
@Override
protected void autoFillNameTextField() {
if (useCustomAccountNameToggleButton != null && !useCustomAccountNameToggleButton.isSelected()) {
String bankId = null;
String countryCode = paymentAccountPayload.getCountryCode();
String countryCode = getCountryCode();
if (countryCode == null)
countryCode = "";
if (BankUtil.isBankIdRequired(countryCode)) {
bankId = bankIdInputTextField.getText().trim();
bankId = getBankId();
if (bankId.length() > 9)
bankId = StringUtils.abbreviate(bankId, 9);
} else if (BankUtil.isBranchIdRequired(countryCode)) {
bankId = branchIdInputTextField.getText().trim();
bankId = getBranchId();
if (bankId.length() > 9)
bankId = StringUtils.abbreviate(bankId, 9);
} else if (BankUtil.isBankNameRequired(countryCode)) {
bankId = bankNameInputTextField.getText().trim();
bankId = getBankName();
if (bankId.length() > 9)
bankId = StringUtils.abbreviate(bankId, 9);
}

String accountNr = accountNrInputTextField.getText().trim();
String accountNr = getAccountNr();
if (accountNr.length() > 9)
accountNr = StringUtils.abbreviate(accountNr, 9);

Expand Down Expand Up @@ -201,9 +204,29 @@ boolean getValidationResult(boolean result, String countryCode, String bankName,
if (BankUtil.isNationalAccountIdRequired(countryCode))
result = result && nationalAccountIdInputTextField.getValidator().validate(nationalAccountId).isValid;
} else { // only account number not empty validation
result = result && accountNrInputTextField.getValidator().validate(accountNr).isValid;
result = result && (accountNrInputTextField == null || accountNrInputTextField.getValidator().validate(accountNr).isValid);
}

return result;
}

protected String getBankId() {
return ((BankAccountPayload) paymentAccount.paymentAccountPayload).getBankId();
}

protected String getBranchId() {
return ((BankAccountPayload) paymentAccount.paymentAccountPayload).getBranchId();
}

protected String getBankName() {
return ((BankAccountPayload) paymentAccount.paymentAccountPayload).getBankName();
}

protected String getAccountNr() {
return ((BankAccountPayload) paymentAccount.paymentAccountPayload).getAccountNr();
}

protected String getCountryCode() {
return ((CountryBasedPaymentAccountPayload) paymentAccount.paymentAccountPayload).getCountryCode();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@
import bisq.core.payment.CountryBasedPaymentAccount;
import bisq.core.payment.PaymentAccount;
import bisq.core.payment.payload.BankAccountPayload;
import bisq.core.payment.payload.CountryBasedPaymentAccountPayload;
import bisq.core.payment.payload.PaymentAccountPayload;
import bisq.core.util.coin.CoinFormatter;
import bisq.core.util.validation.InputValidator;
Expand Down Expand Up @@ -162,9 +161,4 @@ protected void onCountrySelected(Country country) {
paymentAccount.setSingleTradeCurrency(currency);
}
}

@Override
protected void autoFillNameTextField() {
autoFillAccountTextFields((CountryBasedPaymentAccountPayload) paymentAccount.getPaymentAccountPayload());
}
}