Add holder name to venmo

This commit is contained in:
Manfred Karrer 2018-02-18 19:38:44 -05:00
parent a129d06863
commit 378134c413
No known key found for this signature in database
GPG key ID: 401250966A6B2C46
4 changed files with 29 additions and 2 deletions

View file

@ -949,7 +949,7 @@ message UpholdAccountPayload {
}
message CashAppAccountPayload {
string account_id = 1;
string cash_tag = 1;
}
message MoneyBeamAccountPayload {
@ -958,6 +958,7 @@ message MoneyBeamAccountPayload {
message VenmoAccountPayload {
string venmo_user_name = 1;
string holder_name = 2;
}
message PerfectMoneyAccountPayload {

View file

@ -43,4 +43,12 @@ public final class VenmoAccount extends PaymentAccount {
public String getVenmoUserName() {
return ((VenmoAccountPayload) paymentAccountPayload).getVenmoUserName();
}
public void setHolderName(String holderName) {
((VenmoAccountPayload) paymentAccountPayload).setHolderName(holderName);
}
public String getHolderName() {
return ((VenmoAccountPayload) paymentAccountPayload).getHolderName();
}
}

View file

@ -37,6 +37,7 @@ import java.util.Map;
@Slf4j
public final class VenmoAccountPayload extends PaymentAccountPayload {
private String venmoUserName = "";
private String holderName = "";
public VenmoAccountPayload(String paymentMethod, String id) {
super(paymentMethod, id);
@ -50,6 +51,7 @@ public final class VenmoAccountPayload extends PaymentAccountPayload {
private VenmoAccountPayload(String paymentMethod,
String id,
String venmoUserName,
String holderName,
long maxTradePeriod,
Map<String, String> excludeFromJsonDataMap) {
super(paymentMethod,
@ -58,13 +60,15 @@ public final class VenmoAccountPayload extends PaymentAccountPayload {
excludeFromJsonDataMap);
this.venmoUserName = venmoUserName;
this.holderName = holderName;
}
@Override
public Message toProtoMessage() {
return getPaymentAccountPayloadBuilder()
.setVenmoAccountPayload(PB.VenmoAccountPayload.newBuilder()
.setVenmoUserName(venmoUserName))
.setVenmoUserName(venmoUserName)
.setHolderName(holderName))
.build();
}
@ -72,6 +76,7 @@ public final class VenmoAccountPayload extends PaymentAccountPayload {
return new VenmoAccountPayload(proto.getPaymentMethodId(),
proto.getId(),
proto.getVenmoAccountPayload().getVenmoUserName(),
proto.getVenmoAccountPayload().getHolderName(),
proto.getMaxTradePeriod(),
CollectionUtils.isEmpty(proto.getExcludeFromJsonDataMap()) ? null : new HashMap<>(proto.getExcludeFromJsonDataMap()));
}

View file

@ -41,6 +41,8 @@ public class VenmoForm extends PaymentMethodForm {
private InputTextField accountIdInputTextField;
public static int addFormForBuyer(GridPane gridPane, int gridRow, PaymentAccountPayload paymentAccountPayload) {
addLabelTextField(gridPane, ++gridRow, Res.getWithCol("payment.account.owner"),
((VenmoAccountPayload) paymentAccountPayload).getHolderName());
addLabelTextFieldWithCopyIcon(gridPane, ++gridRow, Res.get("payment.venmo.venmoUserName"), ((VenmoAccountPayload) paymentAccountPayload).getVenmoUserName());
return gridRow;
}
@ -55,6 +57,14 @@ public class VenmoForm extends PaymentMethodForm {
public void addFormForAddAccount() {
gridRowFrom = gridRow + 1;
InputTextField holderNameInputTextField = addLabelInputTextField(gridPane, ++gridRow,
Res.getWithCol("payment.account.owner")).second;
holderNameInputTextField.setValidator(inputValidator);
holderNameInputTextField.textProperty().addListener((ov, oldValue, newValue) -> {
account.setHolderName(newValue);
updateFromInputs();
});
accountIdInputTextField = addLabelInputTextField(gridPane, ++gridRow, Res.get("payment.venmo.venmoUserName")).second;
accountIdInputTextField.setValidator(validator);
accountIdInputTextField.textProperty().addListener((ov, oldValue, newValue) -> {
@ -84,6 +94,8 @@ public class VenmoForm extends PaymentMethodForm {
gridRowFrom = gridRow;
addLabelTextField(gridPane, gridRow, Res.get("payment.account.name"), account.getAccountName(), Layout.FIRST_ROW_AND_GROUP_DISTANCE);
addLabelTextField(gridPane, ++gridRow, Res.getWithCol("shared.paymentMethod"), Res.get(account.getPaymentMethod().getId()));
addLabelTextField(gridPane, ++gridRow, Res.getWithCol("payment.account.owner"),
account.getHolderName());
TextField field = addLabelTextField(gridPane, ++gridRow, Res.get("payment.venmo.venmoUserName"), account.getVenmoUserName()).second;
field.setMouseTransparent(false);
final TradeCurrency singleTradeCurrency = account.getSingleTradeCurrency();
@ -95,6 +107,7 @@ public class VenmoForm extends PaymentMethodForm {
@Override
public void updateAllInputsValid() {
allInputsValid.set(isAccountNameValid()
&& inputValidator.validate(account.getHolderName()).isValid
&& validator.validate(account.getVenmoUserName()).isValid
&& account.getTradeCurrencies().size() > 0);
}