mirror of
https://github.com/bisq-network/bisq.git
synced 2025-02-22 22:45:21 +01:00
Include owner name for Monese & Satispay accounts
This commit is contained in:
parent
6f41558ae0
commit
f5c653b92a
6 changed files with 68 additions and 20 deletions
|
@ -34,6 +34,14 @@ public final class MoneseAccount extends PaymentAccount {
|
||||||
return new MoneseAccountPayload(paymentMethod.getId(), id);
|
return new MoneseAccountPayload(paymentMethod.getId(), id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setHolderName(String accountId) {
|
||||||
|
((MoneseAccountPayload) paymentAccountPayload).setHolderName(accountId);
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getHolderName() {
|
||||||
|
return ((MoneseAccountPayload) paymentAccountPayload).getHolderName();
|
||||||
|
}
|
||||||
|
|
||||||
public void setMobileNr(String accountId) {
|
public void setMobileNr(String accountId) {
|
||||||
((MoneseAccountPayload) paymentAccountPayload).setMobileNr(accountId);
|
((MoneseAccountPayload) paymentAccountPayload).setMobileNr(accountId);
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,6 +34,14 @@ public final class SatispayAccount extends CountryBasedPaymentAccount {
|
||||||
return new SatispayAccountPayload(paymentMethod.getId(), id);
|
return new SatispayAccountPayload(paymentMethod.getId(), id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setHolderName(String accountId) {
|
||||||
|
((SatispayAccountPayload) paymentAccountPayload).setHolderName(accountId);
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getHolderName() {
|
||||||
|
return ((SatispayAccountPayload) paymentAccountPayload).getHolderName();
|
||||||
|
}
|
||||||
|
|
||||||
public void setMobileNr(String accountId) {
|
public void setMobileNr(String accountId) {
|
||||||
((SatispayAccountPayload) paymentAccountPayload).setMobileNr(accountId);
|
((SatispayAccountPayload) paymentAccountPayload).setMobileNr(accountId);
|
||||||
}
|
}
|
||||||
|
|
|
@ -38,6 +38,7 @@ import lombok.extern.slf4j.Slf4j;
|
||||||
@Getter
|
@Getter
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public final class MoneseAccountPayload extends PaymentAccountPayload {
|
public final class MoneseAccountPayload extends PaymentAccountPayload {
|
||||||
|
private String holderName = "";
|
||||||
private String mobileNr = "";
|
private String mobileNr = "";
|
||||||
|
|
||||||
public MoneseAccountPayload(String paymentMethod, String id) {
|
public MoneseAccountPayload(String paymentMethod, String id) {
|
||||||
|
@ -46,6 +47,7 @@ public final class MoneseAccountPayload extends PaymentAccountPayload {
|
||||||
|
|
||||||
private MoneseAccountPayload(String paymentMethod,
|
private MoneseAccountPayload(String paymentMethod,
|
||||||
String id,
|
String id,
|
||||||
|
String holderName,
|
||||||
String mobileNr,
|
String mobileNr,
|
||||||
long maxTradePeriod,
|
long maxTradePeriod,
|
||||||
Map<String, String> excludeFromJsonDataMap) {
|
Map<String, String> excludeFromJsonDataMap) {
|
||||||
|
@ -54,19 +56,23 @@ public final class MoneseAccountPayload extends PaymentAccountPayload {
|
||||||
maxTradePeriod,
|
maxTradePeriod,
|
||||||
excludeFromJsonDataMap);
|
excludeFromJsonDataMap);
|
||||||
|
|
||||||
|
this.holderName = holderName;
|
||||||
this.mobileNr = mobileNr;
|
this.mobileNr = mobileNr;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Message toProtoMessage() {
|
public Message toProtoMessage() {
|
||||||
return getPaymentAccountPayloadBuilder()
|
return getPaymentAccountPayloadBuilder()
|
||||||
.setMoneseAccountPayload(protobuf.MoneseAccountPayload.newBuilder().setMobileNr(mobileNr))
|
.setMoneseAccountPayload(protobuf.MoneseAccountPayload.newBuilder()
|
||||||
|
.setHolderName(holderName)
|
||||||
|
.setMobileNr(mobileNr))
|
||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static MoneseAccountPayload fromProto(protobuf.PaymentAccountPayload proto) {
|
public static MoneseAccountPayload fromProto(protobuf.PaymentAccountPayload proto) {
|
||||||
return new MoneseAccountPayload(proto.getPaymentMethodId(),
|
return new MoneseAccountPayload(proto.getPaymentMethodId(),
|
||||||
proto.getId(),
|
proto.getId(),
|
||||||
|
proto.getMoneseAccountPayload().getHolderName(),
|
||||||
proto.getMoneseAccountPayload().getMobileNr(),
|
proto.getMoneseAccountPayload().getMobileNr(),
|
||||||
proto.getMaxTradePeriod(),
|
proto.getMaxTradePeriod(),
|
||||||
new HashMap<>(proto.getExcludeFromJsonDataMap()));
|
new HashMap<>(proto.getExcludeFromJsonDataMap()));
|
||||||
|
@ -74,7 +80,7 @@ public final class MoneseAccountPayload extends PaymentAccountPayload {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getPaymentDetails() {
|
public String getPaymentDetails() {
|
||||||
return Res.get(paymentMethodId) + " - " + Res.getWithCol("payment.mobile") + " " + mobileNr;
|
return Res.get(paymentMethodId) + " - " + Res.getWithCol("payment.account.userName") + " " + holderName;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -84,6 +90,6 @@ public final class MoneseAccountPayload extends PaymentAccountPayload {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public byte[] getAgeWitnessInputData() {
|
public byte[] getAgeWitnessInputData() {
|
||||||
return super.getAgeWitnessInputData(mobileNr.getBytes(StandardCharsets.UTF_8));
|
return super.getAgeWitnessInputData(holderName.getBytes(StandardCharsets.UTF_8));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -38,6 +38,7 @@ import lombok.extern.slf4j.Slf4j;
|
||||||
@Getter
|
@Getter
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public final class SatispayAccountPayload extends CountryBasedPaymentAccountPayload {
|
public final class SatispayAccountPayload extends CountryBasedPaymentAccountPayload {
|
||||||
|
private String holderName = "";
|
||||||
private String mobileNr = "";
|
private String mobileNr = "";
|
||||||
|
|
||||||
public SatispayAccountPayload(String paymentMethod, String id) {
|
public SatispayAccountPayload(String paymentMethod, String id) {
|
||||||
|
@ -47,6 +48,7 @@ public final class SatispayAccountPayload extends CountryBasedPaymentAccountPayl
|
||||||
private SatispayAccountPayload(String paymentMethod,
|
private SatispayAccountPayload(String paymentMethod,
|
||||||
String id,
|
String id,
|
||||||
String countryCode,
|
String countryCode,
|
||||||
|
String holderName,
|
||||||
String mobileNr,
|
String mobileNr,
|
||||||
long maxTradePeriod,
|
long maxTradePeriod,
|
||||||
Map<String, String> excludeFromJsonDataMap) {
|
Map<String, String> excludeFromJsonDataMap) {
|
||||||
|
@ -56,12 +58,14 @@ public final class SatispayAccountPayload extends CountryBasedPaymentAccountPayl
|
||||||
maxTradePeriod,
|
maxTradePeriod,
|
||||||
excludeFromJsonDataMap);
|
excludeFromJsonDataMap);
|
||||||
|
|
||||||
|
this.holderName = holderName;
|
||||||
this.mobileNr = mobileNr;
|
this.mobileNr = mobileNr;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Message toProtoMessage() {
|
public Message toProtoMessage() {
|
||||||
protobuf.SatispayAccountPayload.Builder builder = protobuf.SatispayAccountPayload.newBuilder()
|
protobuf.SatispayAccountPayload.Builder builder = protobuf.SatispayAccountPayload.newBuilder()
|
||||||
|
.setHolderName(holderName)
|
||||||
.setMobileNr(mobileNr);
|
.setMobileNr(mobileNr);
|
||||||
final protobuf.CountryBasedPaymentAccountPayload.Builder countryBasedPaymentAccountPayload = getPaymentAccountPayloadBuilder()
|
final protobuf.CountryBasedPaymentAccountPayload.Builder countryBasedPaymentAccountPayload = getPaymentAccountPayloadBuilder()
|
||||||
.getCountryBasedPaymentAccountPayloadBuilder()
|
.getCountryBasedPaymentAccountPayloadBuilder()
|
||||||
|
@ -73,18 +77,19 @@ public final class SatispayAccountPayload extends CountryBasedPaymentAccountPayl
|
||||||
|
|
||||||
public static SatispayAccountPayload fromProto(protobuf.PaymentAccountPayload proto) {
|
public static SatispayAccountPayload fromProto(protobuf.PaymentAccountPayload proto) {
|
||||||
protobuf.CountryBasedPaymentAccountPayload countryBasedPaymentAccountPayload = proto.getCountryBasedPaymentAccountPayload();
|
protobuf.CountryBasedPaymentAccountPayload countryBasedPaymentAccountPayload = proto.getCountryBasedPaymentAccountPayload();
|
||||||
protobuf.SatispayAccountPayload paytmAccountPayloadPB = countryBasedPaymentAccountPayload.getSatispayAccountPayload();
|
protobuf.SatispayAccountPayload accountPayloadPB = countryBasedPaymentAccountPayload.getSatispayAccountPayload();
|
||||||
return new SatispayAccountPayload(proto.getPaymentMethodId(),
|
return new SatispayAccountPayload(proto.getPaymentMethodId(),
|
||||||
proto.getId(),
|
proto.getId(),
|
||||||
countryBasedPaymentAccountPayload.getCountryCode(),
|
countryBasedPaymentAccountPayload.getCountryCode(),
|
||||||
paytmAccountPayloadPB.getMobileNr(),
|
accountPayloadPB.getHolderName(),
|
||||||
|
accountPayloadPB.getMobileNr(),
|
||||||
proto.getMaxTradePeriod(),
|
proto.getMaxTradePeriod(),
|
||||||
new HashMap<>(proto.getExcludeFromJsonDataMap()));
|
new HashMap<>(proto.getExcludeFromJsonDataMap()));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getPaymentDetails() {
|
public String getPaymentDetails() {
|
||||||
return Res.get(paymentMethodId) + " - " + Res.getWithCol("payment.mobile") + " " + mobileNr;
|
return Res.get(paymentMethodId) + " - " + Res.getWithCol("payment.account.userName") + " " + holderName;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -94,6 +99,6 @@ public final class SatispayAccountPayload extends CountryBasedPaymentAccountPayl
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public byte[] getAgeWitnessInputData() {
|
public byte[] getAgeWitnessInputData() {
|
||||||
return super.getAgeWitnessInputData(mobileNr.getBytes(StandardCharsets.UTF_8));
|
return super.getAgeWitnessInputData(holderName.getBytes(StandardCharsets.UTF_8));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,7 +31,6 @@ import bisq.core.payment.payload.MoneseAccountPayload;
|
||||||
import bisq.core.util.coin.CoinFormatter;
|
import bisq.core.util.coin.CoinFormatter;
|
||||||
import bisq.core.util.validation.InputValidator;
|
import bisq.core.util.validation.InputValidator;
|
||||||
|
|
||||||
import javafx.scene.control.TextField;
|
|
||||||
import javafx.scene.layout.FlowPane;
|
import javafx.scene.layout.FlowPane;
|
||||||
import javafx.scene.layout.GridPane;
|
import javafx.scene.layout.GridPane;
|
||||||
|
|
||||||
|
@ -41,11 +40,14 @@ import static bisq.desktop.util.FormBuilder.addTopLabelTextField;
|
||||||
|
|
||||||
public class MoneseForm extends PaymentMethodForm {
|
public class MoneseForm extends PaymentMethodForm {
|
||||||
private final MoneseAccount account;
|
private final MoneseAccount account;
|
||||||
|
private InputTextField holderNameInputTextField;
|
||||||
private InputTextField mobileNrInputTextField;
|
private InputTextField mobileNrInputTextField;
|
||||||
|
|
||||||
public static int addFormForBuyer(GridPane gridPane, int gridRow,
|
public static int addFormForBuyer(GridPane gridPane, int gridRow,
|
||||||
PaymentAccountPayload paymentAccountPayload) {
|
PaymentAccountPayload paymentAccountPayload) {
|
||||||
addCompactTopLabelTextFieldWithCopyIcon(gridPane, ++gridRow, Res.get("payment.mobile"),
|
addCompactTopLabelTextFieldWithCopyIcon(gridPane, ++gridRow, 0, Res.get("payment.account.owner"),
|
||||||
|
((MoneseAccountPayload) paymentAccountPayload).getHolderName());
|
||||||
|
addCompactTopLabelTextFieldWithCopyIcon(gridPane, gridRow, 1, Res.get("payment.mobile"),
|
||||||
((MoneseAccountPayload) paymentAccountPayload).getMobileNr());
|
((MoneseAccountPayload) paymentAccountPayload).getMobileNr());
|
||||||
return gridRow;
|
return gridRow;
|
||||||
}
|
}
|
||||||
|
@ -61,6 +63,13 @@ public class MoneseForm extends PaymentMethodForm {
|
||||||
public void addFormForAddAccount() {
|
public void addFormForAddAccount() {
|
||||||
gridRowFrom = gridRow + 1;
|
gridRowFrom = gridRow + 1;
|
||||||
|
|
||||||
|
holderNameInputTextField = FormBuilder.addInputTextField(gridPane, ++gridRow, Res.get("payment.account.owner"));
|
||||||
|
holderNameInputTextField.setValidator(inputValidator);
|
||||||
|
holderNameInputTextField.textProperty().addListener((ov, oldValue, newValue) -> {
|
||||||
|
account.setHolderName(newValue.trim());
|
||||||
|
updateFromInputs();
|
||||||
|
});
|
||||||
|
|
||||||
mobileNrInputTextField = FormBuilder.addInputTextField(gridPane, ++gridRow, Res.get("payment.mobile"));
|
mobileNrInputTextField = FormBuilder.addInputTextField(gridPane, ++gridRow, Res.get("payment.mobile"));
|
||||||
mobileNrInputTextField.setValidator(inputValidator);
|
mobileNrInputTextField.setValidator(inputValidator);
|
||||||
mobileNrInputTextField.textProperty().addListener((ov, oldValue, newValue) -> {
|
mobileNrInputTextField.textProperty().addListener((ov, oldValue, newValue) -> {
|
||||||
|
@ -99,9 +108,10 @@ public class MoneseForm extends PaymentMethodForm {
|
||||||
account.getAccountName(), Layout.FIRST_ROW_AND_GROUP_DISTANCE);
|
account.getAccountName(), Layout.FIRST_ROW_AND_GROUP_DISTANCE);
|
||||||
addCompactTopLabelTextField(gridPane, ++gridRow, Res.get("shared.paymentMethod"),
|
addCompactTopLabelTextField(gridPane, ++gridRow, Res.get("shared.paymentMethod"),
|
||||||
Res.get(account.getPaymentMethod().getId()));
|
Res.get(account.getPaymentMethod().getId()));
|
||||||
TextField field = addCompactTopLabelTextField(gridPane, ++gridRow, Res.get("payment.mobile"),
|
addCompactTopLabelTextField(gridPane, ++gridRow, Res.get("payment.account.owner"), account.getHolderName())
|
||||||
account.getMobileNr()).second;
|
.second.setMouseTransparent(false);
|
||||||
field.setMouseTransparent(false);
|
addCompactTopLabelTextField(gridPane, ++gridRow, Res.get("payment.mobile"), account.getMobileNr())
|
||||||
|
.second.setMouseTransparent(false);
|
||||||
addLimitations(true);
|
addLimitations(true);
|
||||||
addCurrenciesGrid(false);
|
addCurrenciesGrid(false);
|
||||||
}
|
}
|
||||||
|
@ -109,7 +119,7 @@ public class MoneseForm extends PaymentMethodForm {
|
||||||
@Override
|
@Override
|
||||||
public void updateAllInputsValid() {
|
public void updateAllInputsValid() {
|
||||||
allInputsValid.set(isAccountNameValid()
|
allInputsValid.set(isAccountNameValid()
|
||||||
&& account.getMobileNr() != null
|
&& inputValidator.validate(account.getHolderName()).isValid
|
||||||
&& inputValidator.validate(account.getMobileNr()).isValid
|
&& inputValidator.validate(account.getMobileNr()).isValid
|
||||||
&& account.getTradeCurrencies().size() > 0);
|
&& account.getTradeCurrencies().size() > 0);
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,21 +32,23 @@ import bisq.core.payment.payload.SatispayAccountPayload;
|
||||||
import bisq.core.util.coin.CoinFormatter;
|
import bisq.core.util.coin.CoinFormatter;
|
||||||
import bisq.core.util.validation.InputValidator;
|
import bisq.core.util.validation.InputValidator;
|
||||||
|
|
||||||
import javafx.scene.control.TextField;
|
|
||||||
import javafx.scene.layout.GridPane;
|
import javafx.scene.layout.GridPane;
|
||||||
|
|
||||||
import static bisq.desktop.util.FormBuilder.addCompactTopLabelTextField;
|
import static bisq.desktop.util.FormBuilder.addCompactTopLabelTextField;
|
||||||
|
import static bisq.desktop.util.FormBuilder.addCompactTopLabelTextFieldWithCopyIcon;
|
||||||
import static bisq.desktop.util.FormBuilder.addTopLabelTextField;
|
import static bisq.desktop.util.FormBuilder.addTopLabelTextField;
|
||||||
import static bisq.desktop.util.FormBuilder.addTopLabelTextFieldWithCopyIcon;
|
|
||||||
|
|
||||||
public class SatispayForm extends PaymentMethodForm {
|
public class SatispayForm extends PaymentMethodForm {
|
||||||
private final SatispayAccount account;
|
private final SatispayAccount account;
|
||||||
|
private InputTextField holderNameField;
|
||||||
private InputTextField mobileNrInputTextField;
|
private InputTextField mobileNrInputTextField;
|
||||||
|
|
||||||
public static int addFormForBuyer(GridPane gridPane, int gridRow,
|
public static int addFormForBuyer(GridPane gridPane, int gridRow,
|
||||||
PaymentAccountPayload paymentAccountPayload) {
|
PaymentAccountPayload paymentAccountPayload) {
|
||||||
addTopLabelTextFieldWithCopyIcon(gridPane, gridRow, 1, Res.get("payment.mobile"),
|
addCompactTopLabelTextFieldWithCopyIcon(gridPane, ++gridRow, 0, Res.get("payment.account.owner"),
|
||||||
((SatispayAccountPayload) paymentAccountPayload).getMobileNr(), Layout.COMPACT_FIRST_ROW_AND_GROUP_DISTANCE);
|
((SatispayAccountPayload) paymentAccountPayload).getHolderName());
|
||||||
|
addCompactTopLabelTextFieldWithCopyIcon(gridPane, gridRow, 1, Res.get("payment.mobile"),
|
||||||
|
((SatispayAccountPayload) paymentAccountPayload).getMobileNr());
|
||||||
return gridRow;
|
return gridRow;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -65,6 +67,13 @@ public class SatispayForm extends PaymentMethodForm {
|
||||||
|
|
||||||
gridRowFrom = gridRow + 1;
|
gridRowFrom = gridRow + 1;
|
||||||
|
|
||||||
|
holderNameField = FormBuilder.addInputTextField(gridPane, ++gridRow, Res.get("payment.account.owner"));
|
||||||
|
holderNameField.setValidator(inputValidator);
|
||||||
|
holderNameField.textProperty().addListener((ov, oldValue, newValue) -> {
|
||||||
|
account.setHolderName(newValue.trim());
|
||||||
|
updateFromInputs();
|
||||||
|
});
|
||||||
|
|
||||||
mobileNrInputTextField = FormBuilder.addInputTextField(gridPane, ++gridRow, Res.get("payment.mobile"));
|
mobileNrInputTextField = FormBuilder.addInputTextField(gridPane, ++gridRow, Res.get("payment.mobile"));
|
||||||
mobileNrInputTextField.setValidator(inputValidator);
|
mobileNrInputTextField.setValidator(inputValidator);
|
||||||
mobileNrInputTextField.textProperty().addListener((ov, oldValue, newValue) -> {
|
mobileNrInputTextField.textProperty().addListener((ov, oldValue, newValue) -> {
|
||||||
|
@ -90,9 +99,10 @@ public class SatispayForm extends PaymentMethodForm {
|
||||||
account.getAccountName(), Layout.FIRST_ROW_AND_GROUP_DISTANCE);
|
account.getAccountName(), Layout.FIRST_ROW_AND_GROUP_DISTANCE);
|
||||||
addCompactTopLabelTextField(gridPane, ++gridRow, Res.get("shared.paymentMethod"),
|
addCompactTopLabelTextField(gridPane, ++gridRow, Res.get("shared.paymentMethod"),
|
||||||
Res.get(account.getPaymentMethod().getId()));
|
Res.get(account.getPaymentMethod().getId()));
|
||||||
TextField field = addCompactTopLabelTextField(gridPane, ++gridRow, Res.get("payment.mobile"),
|
addCompactTopLabelTextField(gridPane, ++gridRow, Res.get("payment.account.owner"), account.getHolderName())
|
||||||
account.getMobileNr()).second;
|
.second.setMouseTransparent(false);
|
||||||
field.setMouseTransparent(false);
|
addCompactTopLabelTextField(gridPane, ++gridRow, Res.get("payment.mobile"), account.getMobileNr())
|
||||||
|
.second.setMouseTransparent(false);
|
||||||
addCompactTopLabelTextField(gridPane, ++gridRow, Res.get("shared.currency"), account.getSingleTradeCurrency().getNameAndCode());
|
addCompactTopLabelTextField(gridPane, ++gridRow, Res.get("shared.currency"), account.getSingleTradeCurrency().getNameAndCode());
|
||||||
addCompactTopLabelTextField(gridPane, ++gridRow, Res.get("shared.country"), account.getCountry().name);
|
addCompactTopLabelTextField(gridPane, ++gridRow, Res.get("shared.country"), account.getCountry().name);
|
||||||
addLimitations(true);
|
addLimitations(true);
|
||||||
|
@ -101,6 +111,7 @@ public class SatispayForm extends PaymentMethodForm {
|
||||||
@Override
|
@Override
|
||||||
public void updateAllInputsValid() {
|
public void updateAllInputsValid() {
|
||||||
allInputsValid.set(isAccountNameValid()
|
allInputsValid.set(isAccountNameValid()
|
||||||
|
&& inputValidator.validate(account.getHolderName()).isValid
|
||||||
&& inputValidator.validate(account.getMobileNr()).isValid);
|
&& inputValidator.validate(account.getMobileNr()).isValid);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue