Customize bankform for GB

This commit is contained in:
Manfred Karrer 2016-05-23 12:12:42 +02:00
parent 7e212f1442
commit 1381698f08
2 changed files with 59 additions and 26 deletions

View File

@ -17,14 +17,20 @@
package io.bitsquare.locale;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class BankUtil {
private static final Logger log = LoggerFactory.getLogger(BankUtil.class);
//TODO set country specific labels
public static String getBankCodeLabel(String countryCode) {
public static String getBankIdLabel(String countryCode) {
if (countryCode == null)
countryCode = "";
switch (countryCode) {
case "GB":
return "Bank nr. or BIC/SWIFT:";
default:
return "Bank nr. or BIC/SWIFT:";
}
@ -32,7 +38,7 @@ public class BankUtil {
}
//TODO set country specific labels
public static String getBranchCodeLabel(String countryCode) {
public static String getBranchIdLabel(String countryCode) {
if (countryCode == null)
countryCode = "";
switch (countryCode) {

View File

@ -69,8 +69,26 @@ abstract class BankForm extends PaymentMethodForm {
addLabelTextFieldWithCopyIcon(gridPane, ++gridRow, "Account holder name:", bankAccountContractData.getHolderName());
addLabelTextFieldWithCopyIcon(gridPane, ++gridRow, "Country of bank:", CountryUtil.getNameAndCode(bankAccountContractData.getCountryCode()));
addLabelTextFieldWithCopyIcon(gridPane, ++gridRow, "Bank name / number:", bankAccountContractData.getBankName() + " / " + bankAccountContractData.getBankId());
addLabelTextFieldWithCopyIcon(gridPane, ++gridRow, "Branch number / Account number:", bankAccountContractData.getBranchId() + " / " + bankAccountContractData.getAccountNr());
String countryCode = ((BankAccountContractData) paymentAccountContractData).getCountryCode();
String bankCodeLabel = BankUtil.getBankIdLabel(countryCode);
if (BankUtil.isBankNameRequired(countryCode) && BankUtil.isBankIdRequired(countryCode))
addLabelTextFieldWithCopyIcon(gridPane, ++gridRow, "Bank name / " + bankCodeLabel,
bankAccountContractData.getBankName() + " / " + bankAccountContractData.getBankId());
else if (BankUtil.isBankNameRequired(countryCode))
addLabelTextFieldWithCopyIcon(gridPane, ++gridRow, "Bank name:", bankAccountContractData.getBankName());
else if (BankUtil.isBankIdRequired(countryCode))
addLabelTextFieldWithCopyIcon(gridPane, ++gridRow, bankCodeLabel, bankAccountContractData.getBankId());
String accountNrLabel = BankUtil.getAccountNrLabel(countryCode);
String branchCodeLabel = BankUtil.getBranchIdLabel(countryCode);
if (BankUtil.isBranchIdRequired(countryCode) && BankUtil.isAccountNrRequired(countryCode))
addLabelTextFieldWithCopyIcon(gridPane, ++gridRow, branchCodeLabel + " / " + accountNrLabel,
bankAccountContractData.getBranchId() + " / " + bankAccountContractData.getAccountNr());
else if (BankUtil.isBranchIdRequired(countryCode))
addLabelTextFieldWithCopyIcon(gridPane, ++gridRow, branchCodeLabel, bankAccountContractData.getBranchId());
else if (BankUtil.isAccountNrRequired(countryCode))
addLabelTextFieldWithCopyIcon(gridPane, ++gridRow, accountNrLabel, bankAccountContractData.getAccountNr());
return gridRow;
}
@ -80,6 +98,33 @@ abstract class BankForm extends PaymentMethodForm {
this.bankAccountContractData = (BankAccountContractData) paymentAccount.contractData;
}
@Override
public void addFormForDisplayAccount() {
gridRowFrom = gridRow;
String countryCode = bankAccountContractData.getCountryCode();
addLabelTextField(gridPane, gridRow, "Account name:", paymentAccount.getAccountName(), Layout.FIRST_ROW_AND_GROUP_DISTANCE);
addLabelTextField(gridPane, ++gridRow, "Payment method:", BSResources.get(paymentAccount.getPaymentMethod().getId()));
addLabelTextField(gridPane, ++gridRow, "Country:", getCountryBasedPaymentAccount().getCountry() != null ? getCountryBasedPaymentAccount().getCountry().name : "");
addLabelTextField(gridPane, ++gridRow, "Currency:", paymentAccount.getSingleTradeCurrency().getNameAndCode());
addAcceptedBanksForDisplayAccount();
addHolderNameAndIdForDisplayAccount();
if (BankUtil.isBankNameRequired(countryCode))
addLabelTextField(gridPane, ++gridRow, "Bank name:", bankAccountContractData.getBankName()).second.setMouseTransparent(false);
if (BankUtil.isBankIdRequired(countryCode))
addLabelTextField(gridPane, ++gridRow, BankUtil.getBankIdLabel(countryCode), bankAccountContractData.getBankId()).second.setMouseTransparent(false);
if (BankUtil.isBranchIdRequired(countryCode))
addLabelTextField(gridPane, ++gridRow, BankUtil.getBranchIdLabel(countryCode), bankAccountContractData.getBranchId()).second.setMouseTransparent(false);
if (BankUtil.isAccountNrRequired(countryCode))
addLabelTextField(gridPane, ++gridRow, BankUtil.getAccountNrLabel(countryCode), bankAccountContractData.getAccountNr()).second.setMouseTransparent(false);
addAllowedPeriod();
}
@Override
public void addFormForAddAccount() {
gridRowFrom = gridRow + 1;
@ -127,8 +172,8 @@ abstract class BankForm extends PaymentMethodForm {
paymentAccount.setSingleTradeCurrency(currency);
currencyTextField.setText(currency.getNameAndCode());
bankIdLabel.setText(BankUtil.getBankCodeLabel(countryCode));
branchIdLabel.setText(BankUtil.getBranchCodeLabel(countryCode));
bankIdLabel.setText(BankUtil.getBankIdLabel(countryCode));
branchIdLabel.setText(BankUtil.getBranchIdLabel(countryCode));
accountNrLabel.setText(BankUtil.getAccountNrLabel(countryCode));
if (holderIdInputTextField != null) {
@ -206,7 +251,7 @@ abstract class BankForm extends PaymentMethodForm {
});
bankIdTuple = addLabelInputTextField(gridPane, ++gridRow, BankUtil.getBankCodeLabel(""));
bankIdTuple = addLabelInputTextField(gridPane, ++gridRow, BankUtil.getBankIdLabel(""));
bankIdLabel = bankIdTuple.first;
bankIdInputTextField = bankIdTuple.second;
bankIdInputTextField.setValidator(inputValidator);
@ -216,7 +261,7 @@ abstract class BankForm extends PaymentMethodForm {
});
branchIdTuple = addLabelInputTextField(gridPane, ++gridRow, BankUtil.getBranchCodeLabel(""));
branchIdTuple = addLabelInputTextField(gridPane, ++gridRow, BankUtil.getBranchIdLabel(""));
branchIdLabel = branchIdTuple.first;
branchIdInputTextField = branchIdTuple.second;
branchIdInputTextField.setValidator(new BranchIdValidator());
@ -334,24 +379,6 @@ abstract class BankForm extends PaymentMethodForm {
allInputsValid.set(result);
}
@Override
public void addFormForDisplayAccount() {
gridRowFrom = gridRow;
addLabelTextField(gridPane, gridRow, "Account name:", paymentAccount.getAccountName(), Layout.FIRST_ROW_AND_GROUP_DISTANCE);
addLabelTextField(gridPane, ++gridRow, "Payment method:", BSResources.get(paymentAccount.getPaymentMethod().getId()));
addLabelTextField(gridPane, ++gridRow, "Country:", getCountryBasedPaymentAccount().getCountry() != null ? getCountryBasedPaymentAccount().getCountry().name : "");
addLabelTextField(gridPane, ++gridRow, "Currency:", paymentAccount.getSingleTradeCurrency().getNameAndCode());
addAcceptedBanksForDisplayAccount();
addHolderNameAndIdForDisplayAccount();
addLabelTextField(gridPane, ++gridRow, "Bank name:", bankAccountContractData.getBankName()).second.setMouseTransparent(false);
addLabelTextField(gridPane, ++gridRow, "Bank number:", bankAccountContractData.getBankId()).second.setMouseTransparent(false);
addLabelTextField(gridPane, ++gridRow, "Branch number:", bankAccountContractData.getBranchId()).second.setMouseTransparent(false);
addLabelTextField(gridPane, ++gridRow, "Account number:", bankAccountContractData.getAccountNr()).second.setMouseTransparent(false);
addAllowedPeriod();
}
protected void addHolderNameAndIdForDisplayAccount() {
if (BankUtil.isHolderIdRequired(bankAccountContractData.getCountryCode())) {
Tuple4<Label, TextField, Label, TextField> tuple = addLabelTextFieldLabelTextField(gridPane, ++gridRow,