mirror of
https://github.com/haveno-dex/haveno.git
synced 2024-10-01 01:35:48 -04:00
support extra info for australia payid account #976
This commit is contained in:
parent
f252265ede
commit
f6c35ba6f3
@ -73,7 +73,8 @@ public final class PaymentAccountForm implements PersistablePayload {
|
|||||||
SWIFT,
|
SWIFT,
|
||||||
TRANSFERWISE,
|
TRANSFERWISE,
|
||||||
UPHOLD,
|
UPHOLD,
|
||||||
ZELLE;
|
ZELLE,
|
||||||
|
AUSTRALIA_PAYID;
|
||||||
|
|
||||||
public static PaymentAccountForm.FormId fromProto(protobuf.PaymentAccountForm.FormId formId) {
|
public static PaymentAccountForm.FormId fromProto(protobuf.PaymentAccountForm.FormId formId) {
|
||||||
return ProtoUtil.enumFromProto(PaymentAccountForm.FormId.class, formId.name());
|
return ProtoUtil.enumFromProto(PaymentAccountForm.FormId.class, formId.name());
|
||||||
|
@ -408,6 +408,8 @@ public class Offer implements NetworkPayload, PersistablePayload {
|
|||||||
return getExtraDataMap().get(OfferPayload.F2F_EXTRA_INFO);
|
return getExtraDataMap().get(OfferPayload.F2F_EXTRA_INFO);
|
||||||
else if (getExtraDataMap() != null && getExtraDataMap().containsKey(OfferPayload.PAY_BY_MAIL_EXTRA_INFO))
|
else if (getExtraDataMap() != null && getExtraDataMap().containsKey(OfferPayload.PAY_BY_MAIL_EXTRA_INFO))
|
||||||
return getExtraDataMap().get(OfferPayload.PAY_BY_MAIL_EXTRA_INFO);
|
return getExtraDataMap().get(OfferPayload.PAY_BY_MAIL_EXTRA_INFO);
|
||||||
|
else if (getExtraDataMap() != null && getExtraDataMap().containsKey(OfferPayload.AUSTRALIA_PAYID_EXTRA_INFO))
|
||||||
|
return getExtraDataMap().get(OfferPayload.AUSTRALIA_PAYID_EXTRA_INFO);
|
||||||
else
|
else
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
@ -99,6 +99,7 @@ public final class OfferPayload implements ProtectedStoragePayload, ExpirablePay
|
|||||||
public static final String F2F_CITY = "f2fCity";
|
public static final String F2F_CITY = "f2fCity";
|
||||||
public static final String F2F_EXTRA_INFO = "f2fExtraInfo";
|
public static final String F2F_EXTRA_INFO = "f2fExtraInfo";
|
||||||
public static final String PAY_BY_MAIL_EXTRA_INFO = "payByMailExtraInfo";
|
public static final String PAY_BY_MAIL_EXTRA_INFO = "payByMailExtraInfo";
|
||||||
|
public static final String AUSTRALIA_PAYID_EXTRA_INFO = "australiaPayidExtraInfo";
|
||||||
|
|
||||||
// Comma separated list of ordinal of a haveno.common.app.Capability. E.g. ordinal of
|
// Comma separated list of ordinal of a haveno.common.app.Capability. E.g. ordinal of
|
||||||
// Capability.SIGNED_ACCOUNT_AGE_WITNESS is 11 and Capability.MEDIATION is 12 so if we want to signal that maker
|
// Capability.SIGNED_ACCOUNT_AGE_WITNESS is 11 and Capability.MEDIATION is 12 so if we want to signal that maker
|
||||||
|
@ -35,6 +35,7 @@ import haveno.core.monetary.Price;
|
|||||||
import haveno.core.monetary.TraditionalMoney;
|
import haveno.core.monetary.TraditionalMoney;
|
||||||
import haveno.core.monetary.Volume;
|
import haveno.core.monetary.Volume;
|
||||||
import static haveno.core.offer.OfferPayload.ACCOUNT_AGE_WITNESS_HASH;
|
import static haveno.core.offer.OfferPayload.ACCOUNT_AGE_WITNESS_HASH;
|
||||||
|
import static haveno.core.offer.OfferPayload.AUSTRALIA_PAYID_EXTRA_INFO;
|
||||||
import static haveno.core.offer.OfferPayload.CAPABILITIES;
|
import static haveno.core.offer.OfferPayload.CAPABILITIES;
|
||||||
import static haveno.core.offer.OfferPayload.F2F_CITY;
|
import static haveno.core.offer.OfferPayload.F2F_CITY;
|
||||||
import static haveno.core.offer.OfferPayload.F2F_EXTRA_INFO;
|
import static haveno.core.offer.OfferPayload.F2F_EXTRA_INFO;
|
||||||
@ -42,6 +43,8 @@ import static haveno.core.offer.OfferPayload.PAY_BY_MAIL_EXTRA_INFO;
|
|||||||
import static haveno.core.offer.OfferPayload.REFERRAL_ID;
|
import static haveno.core.offer.OfferPayload.REFERRAL_ID;
|
||||||
import static haveno.core.offer.OfferPayload.XMR_AUTO_CONF;
|
import static haveno.core.offer.OfferPayload.XMR_AUTO_CONF;
|
||||||
import static haveno.core.offer.OfferPayload.XMR_AUTO_CONF_ENABLED_VALUE;
|
import static haveno.core.offer.OfferPayload.XMR_AUTO_CONF_ENABLED_VALUE;
|
||||||
|
|
||||||
|
import haveno.core.payment.AustraliaPayidAccount;
|
||||||
import haveno.core.payment.F2FAccount;
|
import haveno.core.payment.F2FAccount;
|
||||||
import haveno.core.payment.PayByMailAccount;
|
import haveno.core.payment.PayByMailAccount;
|
||||||
import haveno.core.payment.PaymentAccount;
|
import haveno.core.payment.PaymentAccount;
|
||||||
@ -197,6 +200,10 @@ public class OfferUtil {
|
|||||||
extraDataMap.put(PAY_BY_MAIL_EXTRA_INFO, ((PayByMailAccount) paymentAccount).getExtraInfo());
|
extraDataMap.put(PAY_BY_MAIL_EXTRA_INFO, ((PayByMailAccount) paymentAccount).getExtraInfo());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (paymentAccount instanceof AustraliaPayidAccount) {
|
||||||
|
extraDataMap.put(AUSTRALIA_PAYID_EXTRA_INFO, ((AustraliaPayidAccount) paymentAccount).getExtraInfo());
|
||||||
|
}
|
||||||
|
|
||||||
extraDataMap.put(CAPABILITIES, Capabilities.app.toStringList());
|
extraDataMap.put(CAPABILITIES, Capabilities.app.toStringList());
|
||||||
|
|
||||||
if (currencyCode.equals("XMR") && direction == OfferDirection.SELL) {
|
if (currencyCode.equals("XMR") && direction == OfferDirection.SELL) {
|
||||||
|
@ -36,6 +36,14 @@ public final class AustraliaPayidAccount extends PaymentAccount {
|
|||||||
setSingleTradeCurrency(SUPPORTED_CURRENCIES.get(0));
|
setSingleTradeCurrency(SUPPORTED_CURRENCIES.get(0));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static final List<PaymentAccountFormField.FieldId> INPUT_FIELD_IDS = List.of(
|
||||||
|
PaymentAccountFormField.FieldId.BANK_ACCOUNT_NAME,
|
||||||
|
PaymentAccountFormField.FieldId.PAYID,
|
||||||
|
PaymentAccountFormField.FieldId.EXTRA_INFO,
|
||||||
|
PaymentAccountFormField.FieldId.ACCOUNT_NAME,
|
||||||
|
PaymentAccountFormField.FieldId.SALT
|
||||||
|
);
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected PaymentAccountPayload createPayload() {
|
protected PaymentAccountPayload createPayload() {
|
||||||
return new AustraliaPayidAccountPayload(paymentMethod.getId(), id);
|
return new AustraliaPayidAccountPayload(paymentMethod.getId(), id);
|
||||||
@ -48,7 +56,7 @@ public final class AustraliaPayidAccount extends PaymentAccount {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NonNull List<PaymentAccountFormField.FieldId> getInputFieldIds() {
|
public @NonNull List<PaymentAccountFormField.FieldId> getInputFieldIds() {
|
||||||
throw new RuntimeException("Not implemented");
|
return INPUT_FIELD_IDS;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getPayid() {
|
public String getPayid() {
|
||||||
@ -68,4 +76,12 @@ public final class AustraliaPayidAccount extends PaymentAccount {
|
|||||||
if (bankAccountName == null) bankAccountName = "";
|
if (bankAccountName == null) bankAccountName = "";
|
||||||
((AustraliaPayidAccountPayload) paymentAccountPayload).setBankAccountName(bankAccountName);
|
((AustraliaPayidAccountPayload) paymentAccountPayload).setBankAccountName(bankAccountName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setExtraInfo(String extraInfo) {
|
||||||
|
((AustraliaPayidAccountPayload) paymentAccountPayload).setExtraInfo(extraInfo);
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getExtraInfo() {
|
||||||
|
return ((AustraliaPayidAccountPayload) paymentAccountPayload).getExtraInfo();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -416,7 +416,8 @@ public abstract class PaymentAccount implements PersistablePayload {
|
|||||||
case ANSWER:
|
case ANSWER:
|
||||||
throw new IllegalArgumentException("Not implemented");
|
throw new IllegalArgumentException("Not implemented");
|
||||||
case BANK_ACCOUNT_NAME:
|
case BANK_ACCOUNT_NAME:
|
||||||
throw new IllegalArgumentException("Not implemented");
|
processValidationResult(new LengthValidator(2, 100).validate(value));
|
||||||
|
break;
|
||||||
case BANK_ACCOUNT_NUMBER:
|
case BANK_ACCOUNT_NUMBER:
|
||||||
throw new IllegalArgumentException("Not implemented");
|
throw new IllegalArgumentException("Not implemented");
|
||||||
case BANK_ACCOUNT_TYPE:
|
case BANK_ACCOUNT_TYPE:
|
||||||
@ -515,7 +516,8 @@ public abstract class PaymentAccount implements PersistablePayload {
|
|||||||
case NATIONAL_ACCOUNT_ID:
|
case NATIONAL_ACCOUNT_ID:
|
||||||
throw new IllegalArgumentException("Not implemented");
|
throw new IllegalArgumentException("Not implemented");
|
||||||
case PAYID:
|
case PAYID:
|
||||||
throw new IllegalArgumentException("Not implemented");
|
processValidationResult(new LengthValidator(2, 100).validate(value));
|
||||||
|
break;
|
||||||
case PIX_KEY:
|
case PIX_KEY:
|
||||||
throw new IllegalArgumentException("Not implemented");
|
throw new IllegalArgumentException("Not implemented");
|
||||||
case POSTAL_ADDRESS:
|
case POSTAL_ADDRESS:
|
||||||
@ -596,7 +598,11 @@ public abstract class PaymentAccount implements PersistablePayload {
|
|||||||
case ANSWER:
|
case ANSWER:
|
||||||
throw new IllegalArgumentException("Not implemented");
|
throw new IllegalArgumentException("Not implemented");
|
||||||
case BANK_ACCOUNT_NAME:
|
case BANK_ACCOUNT_NAME:
|
||||||
throw new IllegalArgumentException("Not implemented");
|
field.setComponent(PaymentAccountFormField.Component.TEXT);
|
||||||
|
field.setLabel(Res.get("payment.account.owner"));
|
||||||
|
field.setMinLength(2);
|
||||||
|
field.setMaxLength(100);
|
||||||
|
break;
|
||||||
case BANK_ACCOUNT_NUMBER:
|
case BANK_ACCOUNT_NUMBER:
|
||||||
throw new IllegalArgumentException("Not implemented");
|
throw new IllegalArgumentException("Not implemented");
|
||||||
case BANK_ACCOUNT_TYPE:
|
case BANK_ACCOUNT_TYPE:
|
||||||
@ -724,7 +730,9 @@ public abstract class PaymentAccount implements PersistablePayload {
|
|||||||
case NATIONAL_ACCOUNT_ID:
|
case NATIONAL_ACCOUNT_ID:
|
||||||
throw new IllegalArgumentException("Not implemented");
|
throw new IllegalArgumentException("Not implemented");
|
||||||
case PAYID:
|
case PAYID:
|
||||||
throw new IllegalArgumentException("Not implemented");
|
field.setComponent(PaymentAccountFormField.Component.TEXT);
|
||||||
|
field.setLabel(Res.get("payment.email.mobile"));
|
||||||
|
break;
|
||||||
case PIX_KEY:
|
case PIX_KEY:
|
||||||
throw new IllegalArgumentException("Not implemented");
|
throw new IllegalArgumentException("Not implemented");
|
||||||
case POSTAL_ADDRESS:
|
case POSTAL_ADDRESS:
|
||||||
|
@ -38,6 +38,7 @@ import java.util.Map;
|
|||||||
public final class AustraliaPayidAccountPayload extends PaymentAccountPayload {
|
public final class AustraliaPayidAccountPayload extends PaymentAccountPayload {
|
||||||
private String payid = "";
|
private String payid = "";
|
||||||
private String bankAccountName = "";
|
private String bankAccountName = "";
|
||||||
|
private String extraInfo = "";
|
||||||
|
|
||||||
public AustraliaPayidAccountPayload(String paymentMethod, String id) {
|
public AustraliaPayidAccountPayload(String paymentMethod, String id) {
|
||||||
super(paymentMethod, id);
|
super(paymentMethod, id);
|
||||||
@ -52,6 +53,7 @@ public final class AustraliaPayidAccountPayload extends PaymentAccountPayload {
|
|||||||
String id,
|
String id,
|
||||||
String payid,
|
String payid,
|
||||||
String bankAccountName,
|
String bankAccountName,
|
||||||
|
String extraInfo,
|
||||||
long maxTradePeriod,
|
long maxTradePeriod,
|
||||||
Map<String, String> excludeFromJsonDataMap) {
|
Map<String, String> excludeFromJsonDataMap) {
|
||||||
super(paymentMethod,
|
super(paymentMethod,
|
||||||
@ -61,6 +63,7 @@ public final class AustraliaPayidAccountPayload extends PaymentAccountPayload {
|
|||||||
|
|
||||||
this.payid = payid;
|
this.payid = payid;
|
||||||
this.bankAccountName = bankAccountName;
|
this.bankAccountName = bankAccountName;
|
||||||
|
this.extraInfo = extraInfo;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -70,6 +73,7 @@ public final class AustraliaPayidAccountPayload extends PaymentAccountPayload {
|
|||||||
protobuf.AustraliaPayidPayload.newBuilder()
|
protobuf.AustraliaPayidPayload.newBuilder()
|
||||||
.setPayid(payid)
|
.setPayid(payid)
|
||||||
.setBankAccountName(bankAccountName)
|
.setBankAccountName(bankAccountName)
|
||||||
|
.setExtraInfo(extraInfo)
|
||||||
).build();
|
).build();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -79,6 +83,7 @@ public final class AustraliaPayidAccountPayload extends PaymentAccountPayload {
|
|||||||
proto.getId(),
|
proto.getId(),
|
||||||
AustraliaPayidPayload.getPayid(),
|
AustraliaPayidPayload.getPayid(),
|
||||||
AustraliaPayidPayload.getBankAccountName(),
|
AustraliaPayidPayload.getBankAccountName(),
|
||||||
|
AustraliaPayidPayload.getExtraInfo(),
|
||||||
proto.getMaxTradePeriod(),
|
proto.getMaxTradePeriod(),
|
||||||
CollectionUtils.isEmpty(proto.getExcludeFromJsonDataMap()) ? null : new HashMap<>(proto.getExcludeFromJsonDataMap()));
|
CollectionUtils.isEmpty(proto.getExcludeFromJsonDataMap()) ? null : new HashMap<>(proto.getExcludeFromJsonDataMap()));
|
||||||
}
|
}
|
||||||
@ -97,7 +102,8 @@ public final class AustraliaPayidAccountPayload extends PaymentAccountPayload {
|
|||||||
public String getPaymentDetailsForTradePopup() {
|
public String getPaymentDetailsForTradePopup() {
|
||||||
return
|
return
|
||||||
Res.get("payment.australia.payid") + ": " + payid + "\n" +
|
Res.get("payment.australia.payid") + ": " + payid + "\n" +
|
||||||
Res.get("payment.account.owner") + ": " + bankAccountName;
|
Res.get("payment.account.owner") + ": " + bankAccountName + "\n" +
|
||||||
|
Res.get("payment.shared.extraInfo") + ": " + extraInfo;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -363,7 +363,8 @@ public final class PaymentMethod implements PersistablePayload, Comparable<Payme
|
|||||||
SWIFT_ID,
|
SWIFT_ID,
|
||||||
TRANSFERWISE_ID,
|
TRANSFERWISE_ID,
|
||||||
UPHOLD_ID,
|
UPHOLD_ID,
|
||||||
ZELLE_ID);
|
ZELLE_ID,
|
||||||
|
AUSTRALIA_PAYID_ID);
|
||||||
return paymentMethods.stream().filter(paymentMethod -> paymentMethodIds.contains(paymentMethod.getId())).collect(Collectors.toList());
|
return paymentMethods.stream().filter(paymentMethod -> paymentMethodIds.contains(paymentMethod.getId())).collect(Collectors.toList());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -29,12 +29,17 @@ import haveno.core.util.coin.CoinFormatter;
|
|||||||
import haveno.core.util.validation.InputValidator;
|
import haveno.core.util.validation.InputValidator;
|
||||||
import haveno.desktop.components.InputTextField;
|
import haveno.desktop.components.InputTextField;
|
||||||
import haveno.desktop.util.FormBuilder;
|
import haveno.desktop.util.FormBuilder;
|
||||||
|
import javafx.scene.control.TextArea;
|
||||||
import javafx.scene.control.TextField;
|
import javafx.scene.control.TextField;
|
||||||
import javafx.scene.layout.GridPane;
|
import javafx.scene.layout.GridPane;
|
||||||
|
|
||||||
|
import static haveno.desktop.util.FormBuilder.addCompactTopLabelTextArea;
|
||||||
import static haveno.desktop.util.FormBuilder.addCompactTopLabelTextField;
|
import static haveno.desktop.util.FormBuilder.addCompactTopLabelTextField;
|
||||||
|
import static haveno.desktop.util.FormBuilder.addTopLabelTextArea;
|
||||||
import static haveno.desktop.util.FormBuilder.addTopLabelTextField;
|
import static haveno.desktop.util.FormBuilder.addTopLabelTextField;
|
||||||
|
|
||||||
|
import com.jfoenix.controls.JFXTextArea;
|
||||||
|
|
||||||
public class AustraliaPayidForm extends PaymentMethodForm {
|
public class AustraliaPayidForm extends PaymentMethodForm {
|
||||||
private final AustraliaPayidAccount australiaPayidAccount;
|
private final AustraliaPayidAccount australiaPayidAccount;
|
||||||
private final AustraliaPayidValidator australiaPayidValidator;
|
private final AustraliaPayidValidator australiaPayidValidator;
|
||||||
@ -42,8 +47,15 @@ public class AustraliaPayidForm extends PaymentMethodForm {
|
|||||||
public static int addFormForBuyer(GridPane gridPane, int gridRow, PaymentAccountPayload paymentAccountPayload) {
|
public static int addFormForBuyer(GridPane gridPane, int gridRow, PaymentAccountPayload paymentAccountPayload) {
|
||||||
addCompactTopLabelTextField(gridPane, ++gridRow, Res.get("payment.account.owner"),
|
addCompactTopLabelTextField(gridPane, ++gridRow, Res.get("payment.account.owner"),
|
||||||
((AustraliaPayidAccountPayload) paymentAccountPayload).getBankAccountName());
|
((AustraliaPayidAccountPayload) paymentAccountPayload).getBankAccountName());
|
||||||
|
|
||||||
addCompactTopLabelTextField(gridPane, ++gridRow, Res.get("payment.payid"),
|
addCompactTopLabelTextField(gridPane, ++gridRow, Res.get("payment.payid"),
|
||||||
((AustraliaPayidAccountPayload) paymentAccountPayload).getPayid());
|
((AustraliaPayidAccountPayload) paymentAccountPayload).getPayid());
|
||||||
|
|
||||||
|
AustraliaPayidAccountPayload payId = (AustraliaPayidAccountPayload) paymentAccountPayload;
|
||||||
|
TextArea textExtraInfo = addCompactTopLabelTextArea(gridPane, gridRow, 1, Res.get("payment.shared.extraInfo"), "").second;
|
||||||
|
textExtraInfo.setMinHeight(70);
|
||||||
|
textExtraInfo.setEditable(false);
|
||||||
|
textExtraInfo.setText(payId.getExtraInfo());
|
||||||
return gridRow;
|
return gridRow;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -78,6 +90,15 @@ public class AustraliaPayidForm extends PaymentMethodForm {
|
|||||||
updateFromInputs();
|
updateFromInputs();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
TextArea extraTextArea = addTopLabelTextArea(gridPane, ++gridRow,
|
||||||
|
Res.get("payment.shared.optionalExtra"), Res.get("payment.shared.extraInfo.prompt")).second;
|
||||||
|
extraTextArea.setMinHeight(70);
|
||||||
|
((JFXTextArea) extraTextArea).setLabelFloat(false);
|
||||||
|
extraTextArea.textProperty().addListener((ov, oldValue, newValue) -> {
|
||||||
|
australiaPayidAccount.setExtraInfo(newValue);
|
||||||
|
updateFromInputs();
|
||||||
|
});
|
||||||
|
|
||||||
TradeCurrency singleTradeCurrency = australiaPayidAccount.getSingleTradeCurrency();
|
TradeCurrency singleTradeCurrency = australiaPayidAccount.getSingleTradeCurrency();
|
||||||
String nameAndCode = singleTradeCurrency != null ? singleTradeCurrency.getNameAndCode() : "null";
|
String nameAndCode = singleTradeCurrency != null ? singleTradeCurrency.getNameAndCode() : "null";
|
||||||
addTopLabelTextField(gridPane, ++gridRow, Res.get("shared.currency"), nameAndCode);
|
addTopLabelTextField(gridPane, ++gridRow, Res.get("shared.currency"), nameAndCode);
|
||||||
@ -96,11 +117,19 @@ public class AustraliaPayidForm extends PaymentMethodForm {
|
|||||||
addAccountNameTextFieldWithAutoFillToggleButton();
|
addAccountNameTextFieldWithAutoFillToggleButton();
|
||||||
addCompactTopLabelTextField(gridPane, ++gridRow, Res.get("shared.paymentMethod"),
|
addCompactTopLabelTextField(gridPane, ++gridRow, Res.get("shared.paymentMethod"),
|
||||||
Res.get(australiaPayidAccount.getPaymentMethod().getId()));
|
Res.get(australiaPayidAccount.getPaymentMethod().getId()));
|
||||||
|
|
||||||
addCompactTopLabelTextField(gridPane, ++gridRow, Res.get("payment.payid"),
|
addCompactTopLabelTextField(gridPane, ++gridRow, Res.get("payment.payid"),
|
||||||
australiaPayidAccount.getPayid());
|
australiaPayidAccount.getPayid());
|
||||||
|
|
||||||
TextField field = addCompactTopLabelTextField(gridPane, ++gridRow, Res.get("payment.account.owner"),
|
TextField field = addCompactTopLabelTextField(gridPane, ++gridRow, Res.get("payment.account.owner"),
|
||||||
australiaPayidAccount.getBankAccountName()).second;
|
australiaPayidAccount.getBankAccountName()).second;
|
||||||
field.setMouseTransparent(false);
|
field.setMouseTransparent(false);
|
||||||
|
|
||||||
|
TextArea textAreaExtra = addCompactTopLabelTextArea(gridPane, ++gridRow, Res.get("payment.shared.extraInfo"), "").second;
|
||||||
|
textAreaExtra.setText(australiaPayidAccount.getExtraInfo());
|
||||||
|
textAreaExtra.setMinHeight(70);
|
||||||
|
textAreaExtra.setEditable(false);
|
||||||
|
|
||||||
TradeCurrency singleTradeCurrency = australiaPayidAccount.getSingleTradeCurrency();
|
TradeCurrency singleTradeCurrency = australiaPayidAccount.getSingleTradeCurrency();
|
||||||
String nameAndCode = singleTradeCurrency != null ? singleTradeCurrency.getNameAndCode() : "null";
|
String nameAndCode = singleTradeCurrency != null ? singleTradeCurrency.getNameAndCode() : "null";
|
||||||
addCompactTopLabelTextField(gridPane, ++gridRow, Res.get("shared.currency"), nameAndCode);
|
addCompactTopLabelTextField(gridPane, ++gridRow, Res.get("shared.currency"), nameAndCode);
|
||||||
|
@ -158,7 +158,7 @@ public class TakeOfferView extends ActivatableViewAndModel<AnchorPane, TakeOffer
|
|||||||
private int gridRow = 0;
|
private int gridRow = 0;
|
||||||
private final HashMap<String, Boolean> paymentAccountWarningDisplayed = new HashMap<>();
|
private final HashMap<String, Boolean> paymentAccountWarningDisplayed = new HashMap<>();
|
||||||
private boolean offerDetailsWindowDisplayed, zelleWarningDisplayed, fasterPaymentsWarningDisplayed,
|
private boolean offerDetailsWindowDisplayed, zelleWarningDisplayed, fasterPaymentsWarningDisplayed,
|
||||||
takeOfferFromUnsignedAccountWarningDisplayed, payByMailWarningDisplayed, cashAtAtmWarningDisplayed;
|
takeOfferFromUnsignedAccountWarningDisplayed, payByMailWarningDisplayed, cashAtAtmWarningDisplayed, australiaPayidWarningDisplayed;
|
||||||
private SimpleBooleanProperty errorPopupDisplayed;
|
private SimpleBooleanProperty errorPopupDisplayed;
|
||||||
private ChangeListener<Boolean> amountFocusedListener, getShowWalletFundedNotificationListener;
|
private ChangeListener<Boolean> amountFocusedListener, getShowWalletFundedNotificationListener;
|
||||||
|
|
||||||
@ -267,6 +267,7 @@ public class TakeOfferView extends ActivatableViewAndModel<AnchorPane, TakeOffer
|
|||||||
maybeShowAccountWarning(lastPaymentAccount, model.dataModel.isBuyOffer());
|
maybeShowAccountWarning(lastPaymentAccount, model.dataModel.isBuyOffer());
|
||||||
maybeShowPayByMailWarning(lastPaymentAccount, model.dataModel.getOffer());
|
maybeShowPayByMailWarning(lastPaymentAccount, model.dataModel.getOffer());
|
||||||
maybeShowCashAtAtmWarning(lastPaymentAccount, model.dataModel.getOffer());
|
maybeShowCashAtAtmWarning(lastPaymentAccount, model.dataModel.getOffer());
|
||||||
|
maybeShowAustraliaPayidWarning(lastPaymentAccount, model.dataModel.getOffer());
|
||||||
|
|
||||||
if (!model.isRange()) {
|
if (!model.isRange()) {
|
||||||
nextButton.setVisible(false);
|
nextButton.setVisible(false);
|
||||||
@ -1139,6 +1140,23 @@ public class TakeOfferView extends ActivatableViewAndModel<AnchorPane, TakeOffer
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void maybeShowAustraliaPayidWarning(PaymentAccount paymentAccount, Offer offer) {
|
||||||
|
if (paymentAccount.getPaymentMethod().getId().equals(PaymentMethod.AUSTRALIA_PAYID_ID) &&
|
||||||
|
!australiaPayidWarningDisplayed && !offer.getExtraInfo().isEmpty()) {
|
||||||
|
australiaPayidWarningDisplayed = true;
|
||||||
|
UserThread.runAfter(() -> {
|
||||||
|
new GenericMessageWindow()
|
||||||
|
.preamble(Res.get("payment.tradingRestrictions"))
|
||||||
|
.instruction(offer.getExtraInfo())
|
||||||
|
.actionButtonText(Res.get("shared.iConfirm"))
|
||||||
|
.closeButtonText(Res.get("shared.close"))
|
||||||
|
.width(Layout.INITIAL_WINDOW_WIDTH)
|
||||||
|
.onClose(() -> close(false))
|
||||||
|
.show();
|
||||||
|
}, 500, TimeUnit.MILLISECONDS);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private Tuple2<Label, VBox> getTradeInputBox(HBox amountValueBox, String promptText) {
|
private Tuple2<Label, VBox> getTradeInputBox(HBox amountValueBox, String promptText) {
|
||||||
Label descriptionLabel = new AutoTooltipLabel(promptText);
|
Label descriptionLabel = new AutoTooltipLabel(promptText);
|
||||||
descriptionLabel.setId("input-description-label");
|
descriptionLabel.setId("input-description-label");
|
||||||
|
@ -174,7 +174,7 @@ public class OfferDetailsWindow extends Overlay<OfferDetailsWindow> {
|
|||||||
List<String> acceptedCountryCodes = offer.getAcceptedCountryCodes();
|
List<String> acceptedCountryCodes = offer.getAcceptedCountryCodes();
|
||||||
boolean showAcceptedCountryCodes = acceptedCountryCodes != null && !acceptedCountryCodes.isEmpty();
|
boolean showAcceptedCountryCodes = acceptedCountryCodes != null && !acceptedCountryCodes.isEmpty();
|
||||||
boolean isF2F = offer.getPaymentMethod().equals(PaymentMethod.F2F);
|
boolean isF2F = offer.getPaymentMethod().equals(PaymentMethod.F2F);
|
||||||
boolean showExtraInfo = offer.getPaymentMethod().equals(PaymentMethod.F2F) || offer.getPaymentMethod().equals(PaymentMethod.PAY_BY_MAIL);
|
boolean showExtraInfo = offer.getPaymentMethod().equals(PaymentMethod.F2F) || offer.getPaymentMethod().equals(PaymentMethod.PAY_BY_MAIL) || offer.getPaymentMethod().equals(PaymentMethod.AUSTRALIA_PAYID);
|
||||||
if (!takeOfferHandlerOptional.isPresent())
|
if (!takeOfferHandlerOptional.isPresent())
|
||||||
rows++;
|
rows++;
|
||||||
if (showAcceptedBanks)
|
if (showAcceptedBanks)
|
||||||
|
@ -971,6 +971,7 @@ message JapanBankAccountPayload {
|
|||||||
message AustraliaPayidPayload {
|
message AustraliaPayidPayload {
|
||||||
string bank_account_name = 1;
|
string bank_account_name = 1;
|
||||||
string payid = 2;
|
string payid = 2;
|
||||||
|
string extra_info = 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
message SpecificBanksAccountPayload {
|
message SpecificBanksAccountPayload {
|
||||||
@ -1870,6 +1871,7 @@ message PaymentAccountForm {
|
|||||||
PAXUM = 12;
|
PAXUM = 12;
|
||||||
PAY_BY_MAIL = 13;
|
PAY_BY_MAIL = 13;
|
||||||
CASH_AT_ATM = 14;
|
CASH_AT_ATM = 14;
|
||||||
|
AUSTRALIA_PAYID = 15;
|
||||||
}
|
}
|
||||||
FormId id = 1;
|
FormId id = 1;
|
||||||
repeated PaymentAccountFormField fields = 2;
|
repeated PaymentAccountFormField fields = 2;
|
||||||
|
Loading…
Reference in New Issue
Block a user