Merge pull request #5500 from BtcContributor/fix_uphold

Add Account owner full name field to Uphold payment method
This commit is contained in:
Christoph Atteneder 2021-06-01 12:52:13 +02:00 committed by GitHub
commit 7883df2977
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 50 additions and 2 deletions

View file

@ -44,4 +44,15 @@ public final class UpholdAccount extends PaymentAccount {
public String getAccountId() { public String getAccountId() {
return ((UpholdAccountPayload) paymentAccountPayload).getAccountId(); return ((UpholdAccountPayload) paymentAccountPayload).getAccountId();
} }
public String getAccountOwner() {
return ((UpholdAccountPayload) paymentAccountPayload).getAccountOwner();
}
public void setAccountOwner(String accountOwner) {
if (accountOwner == null) {
accountOwner = "";
}
((UpholdAccountPayload) paymentAccountPayload).setAccountOwner(accountOwner);
}
} }

View file

@ -19,6 +19,8 @@ package bisq.core.payment.payload;
import bisq.core.locale.Res; import bisq.core.locale.Res;
import bisq.common.util.JsonExclude;
import com.google.protobuf.Message; import com.google.protobuf.Message;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
@ -40,6 +42,10 @@ import lombok.extern.slf4j.Slf4j;
public final class UpholdAccountPayload extends PaymentAccountPayload { public final class UpholdAccountPayload extends PaymentAccountPayload {
private String accountId = ""; private String accountId = "";
// For backward compatibility we need to exclude the new field from the contract json.
@JsonExclude
private String accountOwner = "";
public UpholdAccountPayload(String paymentMethod, String id) { public UpholdAccountPayload(String paymentMethod, String id) {
super(paymentMethod, id); super(paymentMethod, id);
} }
@ -52,6 +58,7 @@ public final class UpholdAccountPayload extends PaymentAccountPayload {
private UpholdAccountPayload(String paymentMethod, private UpholdAccountPayload(String paymentMethod,
String id, String id,
String accountId, String accountId,
String accountOwner,
long maxTradePeriod, long maxTradePeriod,
Map<String, String> excludeFromJsonDataMap) { Map<String, String> excludeFromJsonDataMap) {
super(paymentMethod, super(paymentMethod,
@ -60,12 +67,14 @@ public final class UpholdAccountPayload extends PaymentAccountPayload {
excludeFromJsonDataMap); excludeFromJsonDataMap);
this.accountId = accountId; this.accountId = accountId;
this.accountOwner = accountOwner;
} }
@Override @Override
public Message toProtoMessage() { public Message toProtoMessage() {
return getPaymentAccountPayloadBuilder() return getPaymentAccountPayloadBuilder()
.setUpholdAccountPayload(protobuf.UpholdAccountPayload.newBuilder() .setUpholdAccountPayload(protobuf.UpholdAccountPayload.newBuilder()
.setAccountOwner(accountOwner)
.setAccountId(accountId)) .setAccountId(accountId))
.build(); .build();
} }
@ -74,6 +83,7 @@ public final class UpholdAccountPayload extends PaymentAccountPayload {
return new UpholdAccountPayload(proto.getPaymentMethodId(), return new UpholdAccountPayload(proto.getPaymentMethodId(),
proto.getId(), proto.getId(),
proto.getUpholdAccountPayload().getAccountId(), proto.getUpholdAccountPayload().getAccountId(),
proto.getUpholdAccountPayload().getAccountOwner(),
proto.getMaxTradePeriod(), proto.getMaxTradePeriod(),
new HashMap<>(proto.getExcludeFromJsonDataMap())); new HashMap<>(proto.getExcludeFromJsonDataMap()));
} }
@ -85,12 +95,20 @@ public final class UpholdAccountPayload extends PaymentAccountPayload {
@Override @Override
public String getPaymentDetails() { public String getPaymentDetails() {
return Res.get(paymentMethodId) + " - " + Res.getWithCol("payment.account") + " " + accountId; return Res.get(paymentMethodId) + " - " + getPaymentDetailsForTradePopup().replace("\n", ", ");
} }
@Override @Override
public String getPaymentDetailsForTradePopup() { public String getPaymentDetailsForTradePopup() {
return getPaymentDetails(); if (accountOwner.isEmpty()) {
return
Res.get("payment.account") + ": " + accountId + "\n" +
Res.get("payment.account.owner") + ": N/A";
} else {
return
Res.get("payment.account") + ": " + accountId + "\n" +
Res.get("payment.account.owner") + ": " + accountOwner;
}
} }
@Override @Override

View file

@ -47,8 +47,16 @@ public class UpholdForm extends PaymentMethodForm {
public static int addFormForBuyer(GridPane gridPane, int gridRow, public static int addFormForBuyer(GridPane gridPane, int gridRow,
PaymentAccountPayload paymentAccountPayload) { PaymentAccountPayload paymentAccountPayload) {
String accountOwner = ((UpholdAccountPayload) paymentAccountPayload).getAccountOwner();
if (accountOwner.isEmpty()) {
accountOwner = Res.get("payment.ask");
}
addCompactTopLabelTextFieldWithCopyIcon(gridPane, ++gridRow, Res.get("payment.account.owner"),
accountOwner);
addCompactTopLabelTextFieldWithCopyIcon(gridPane, ++gridRow, Res.get("payment.uphold.accountId"), addCompactTopLabelTextFieldWithCopyIcon(gridPane, ++gridRow, Res.get("payment.uphold.accountId"),
((UpholdAccountPayload) paymentAccountPayload).getAccountId()); ((UpholdAccountPayload) paymentAccountPayload).getAccountId());
return gridRow; return gridRow;
} }
@ -64,6 +72,14 @@ public class UpholdForm extends PaymentMethodForm {
public void addFormForAddAccount() { public void addFormForAddAccount() {
gridRowFrom = gridRow + 1; gridRowFrom = gridRow + 1;
InputTextField holderNameInputTextField = FormBuilder.addInputTextField(gridPane, ++gridRow,
Res.get("payment.account.owner"));
holderNameInputTextField.setValidator(inputValidator);
holderNameInputTextField.textProperty().addListener((ov, oldValue, newValue) -> {
upholdAccount.setAccountOwner(newValue);
updateFromInputs();
});
accountIdInputTextField = FormBuilder.addInputTextField(gridPane, ++gridRow, Res.get("payment.uphold.accountId")); accountIdInputTextField = FormBuilder.addInputTextField(gridPane, ++gridRow, Res.get("payment.uphold.accountId"));
accountIdInputTextField.setValidator(upholdValidator); accountIdInputTextField.setValidator(upholdValidator);
accountIdInputTextField.textProperty().addListener((ov, oldValue, newValue) -> { accountIdInputTextField.textProperty().addListener((ov, oldValue, newValue) -> {
@ -102,6 +118,8 @@ public class UpholdForm extends PaymentMethodForm {
upholdAccount.getAccountName(), Layout.FIRST_ROW_AND_GROUP_DISTANCE); upholdAccount.getAccountName(), Layout.FIRST_ROW_AND_GROUP_DISTANCE);
addCompactTopLabelTextField(gridPane, ++gridRow, Res.get("shared.paymentMethod"), addCompactTopLabelTextField(gridPane, ++gridRow, Res.get("shared.paymentMethod"),
Res.get(upholdAccount.getPaymentMethod().getId())); Res.get(upholdAccount.getPaymentMethod().getId()));
addCompactTopLabelTextField(gridPane, ++gridRow, Res.get("payment.account.owner"),
Res.get(upholdAccount.getAccountOwner()));
TextField field = addCompactTopLabelTextField(gridPane, ++gridRow, Res.get("payment.uphold.accountId"), TextField field = addCompactTopLabelTextField(gridPane, ++gridRow, Res.get("payment.uphold.accountId"),
upholdAccount.getAccountId()).second; upholdAccount.getAccountId()).second;
field.setMouseTransparent(false); field.setMouseTransparent(false);

View file

@ -1133,6 +1133,7 @@ message OKPayAccountPayload {
message UpholdAccountPayload { message UpholdAccountPayload {
string account_id = 1; string account_id = 1;
string account_owner = 2;
} }
// Deprecated, not used anymore // Deprecated, not used anymore