From 00163e92f2c9b0bf8308c6fdcdb5dfae126b425d Mon Sep 17 00:00:00 2001
From: inso <insomniak.fr@gmaiL.com>
Date: Fri, 18 Mar 2016 14:30:12 +0100
Subject: [PATCH] Handle NotEnoughMoneyError

---
 src/sakia/core/wallet.py  | 16 +++++++++-------
 src/sakia/gui/transfer.py |  1 +
 2 files changed, 10 insertions(+), 7 deletions(-)

diff --git a/src/sakia/core/wallet.py b/src/sakia/core/wallet.py
index fa73835d..9cb08087 100644
--- a/src/sakia/core/wallet.py
+++ b/src/sakia/core/wallet.py
@@ -323,13 +323,15 @@ class Wallet(QObject):
                     }
         transfer = Transfer.initiate(metadata)
         self.caches[community.currency]._transfers.append(transfer)
-
-        tx = self.prepare_tx(recipient, amount, message, community)
-        logging.debug("TX : {0}".format(tx.raw()))
-
-        tx.sign([key])
-        logging.debug("Transaction : {0}".format(tx.signed_raw()))
-        return await transfer.send(tx, community)
+        try:
+            tx = self.prepare_tx(recipient, amount, message, community)
+            logging.debug("TX : {0}".format(tx.raw()))
+
+            tx.sign([key])
+            logging.debug("Transaction : {0}".format(tx.signed_raw()))
+            return await transfer.send(tx, community)
+        except NotEnoughMoneyError as e:
+            return (False, str(e))
 
     async def sources(self, community):
         """
diff --git a/src/sakia/gui/transfer.py b/src/sakia/gui/transfer.py
index 8ccf76fe..99f99b04 100644
--- a/src/sakia/gui/transfer.py
+++ b/src/sakia/gui/transfer.py
@@ -139,6 +139,7 @@ class TransferMoneyDialog(QObject):
             return
 
         QApplication.setOverrideCursor(Qt.WaitCursor)
+
         result = await self.wallet.send_money(self.account.salt, password, self.community,
                                    recipient, amount, comment)
         if result[0]:
-- 
GitLab