Improve handling of editing of offers with invalid security deposit

This commit is contained in:
Christoph Atteneder 2019-04-18 14:45:23 +02:00
parent 2119872c9b
commit 8481593370
No known key found for this signature in database
GPG key ID: CD5DC1C529CDFD3B
4 changed files with 14 additions and 5 deletions

View file

@ -493,6 +493,7 @@ editOffer.confirmEdit=Confirm: Edit offer
editOffer.publishOffer=Publishing your offer.
editOffer.failed=Editing of offer failed:\n{0}
editOffer.success=Your offer has been successfully edited.
editOffer.invalidDeposit=The buyer's security deposit is not within the constraints defined by the Bisq DAO and can no longer be edited.
####################################################################
# Portfolio

View file

@ -84,7 +84,7 @@ import static javafx.beans.binding.Bindings.createStringBinding;
public abstract class MutableOfferViewModel<M extends MutableOfferDataModel> extends ActivatableWithDataModel<M> {
private final BtcValidator btcValidator;
private final BsqValidator bsqValidator;
private final SecurityDepositValidator securityDepositValidator;
protected final SecurityDepositValidator securityDepositValidator;
private final P2PService p2PService;
private final WalletsSetup walletsSetup;
private final PriceFeedService priceFeedService;
@ -104,7 +104,7 @@ public abstract class MutableOfferViewModel<M extends MutableOfferDataModel> ext
public final StringProperty amount = new SimpleStringProperty();
public final StringProperty minAmount = new SimpleStringProperty();
final StringProperty buyerSecurityDeposit = new SimpleStringProperty();
protected final StringProperty buyerSecurityDeposit = new SimpleStringProperty();
final StringProperty buyerSecurityDepositInBTC = new SimpleStringProperty();
final StringProperty buyerSecurityDepositLabel = new SimpleStringProperty();

View file

@ -148,11 +148,15 @@ public class EditOfferView extends MutableOfferView<EditOfferViewModel> {
model.onStartEditOffer(errorMessage -> {
log.error(errorMessage);
new Popup<>().warning(Res.get("editOffer.failed", errorMessage))
.onClose(() -> {
close();
})
.onClose(this::close)
.show();
});
if (!model.isSecurityDepositValid()) {
new Popup<>().warning(Res.get("editOffer.invalidDeposit"))
.onClose(this::close)
.show();
}
}
///////////////////////////////////////////////////////////////////////////////////////////

View file

@ -80,4 +80,8 @@ class EditOfferViewModel extends MutableOfferViewModel<EditOfferDataModel> {
price.set(btcFormatter.formatPrice(null));
price.set(btcFormatter.formatPrice(dataModel.getPrice().get()));
}
public boolean isSecurityDepositValid() {
return securityDepositValidator.validate(buyerSecurityDeposit.get()).isValid;
}
}