diff --git a/res/ui/transfer.ui b/res/ui/transfer.ui index 9b20f8642953f20b3188c2de2f8143f6016c040b..e26418f64b9e25df12a4394e111d00665cfb4371 100644 --- a/res/ui/transfer.ui +++ b/res/ui/transfer.ui @@ -160,7 +160,11 @@ </property> <layout class="QVBoxLayout" name="verticalLayout_3"> <item> - <widget class="QLineEdit" name="edit_message"/> + <widget class="QLineEdit" name="edit_message"> + <property name="inputMask"> + <string/> + </property> + </widget> </item> </layout> </widget> diff --git a/src/cutecoin/core/transfer.py b/src/cutecoin/core/transfer.py index 5fa37f313bb743946c51526cbacc73d6c3ad9ceb..0eebedf50665b1c68e20624868cd0fdced1a2578 100644 --- a/src/cutecoin/core/transfer.py +++ b/src/cutecoin/core/transfer.py @@ -71,7 +71,7 @@ class Transfer(object): post_args={'transaction': self.txdoc.signed_raw()}) self.state = Transfer.AWAITING except ValueError as e: - if '400' in e: + if '400' in str(e): self.state = Transfer.REFUSED raise finally: diff --git a/src/cutecoin/gui/transfer.py b/src/cutecoin/gui/transfer.py index c26e461ca3b714130bf458894b98f0fff7c666b0..6546f9abb5c45adb10ec2729e1b01c3c402d24a7 100644 --- a/src/cutecoin/gui/transfer.py +++ b/src/cutecoin/gui/transfer.py @@ -4,6 +4,8 @@ Created on 2 févr. 2014 @author: inso ''' from PyQt5.QtWidgets import QDialog, QMessageBox +from PyQt5.QtCore import QRegExp +from PyQt5.QtGui import QRegExpValidator, QValidator from ..tools.exceptions import NotEnoughMoneyError, NoPeerAvailable from ..gen_resources.transfer_uic import Ui_TransferMoneyDialog @@ -23,24 +25,28 @@ class TransferMoneyDialog(QDialog, Ui_TransferMoneyDialog): ''' super().__init__() self.setupUi(self) - self.sender = sender + self.account = sender self.password_asker = password_asker self.recipient_trusts = [] self.wallet = None - self.community = self.sender.communities[0] - self.wallet = self.sender.wallets[0] + self.community = self.account.communities[0] + self.wallet = self.account.wallets[0] self.dividend = self.community.dividend - for community in self.sender.communities: + regexp = QRegExp('^([ a-zA-Z0-9-_:/;*?\[\]\(\)\\\?!^+=@&~#{}|<>%.]{0,255})$') + validator = QRegExpValidator(regexp) + self.edit_message.setValidator(validator) + + for community in self.account.communities: self.combo_community.addItem(community.currency) - for wallet in self.sender.wallets: + for wallet in self.account.wallets: self.combo_wallets.addItem(wallet.name) for contact in sender.contacts: self.combo_contact.addItem(contact.name) - if len(self.sender.contacts) == 0: + if len(self.account.contacts) == 0: self.combo_contact.setEnabled(False) self.radio_contact.setEnabled(False) self.radio_pubkey.setChecked(True) @@ -50,7 +56,7 @@ class TransferMoneyDialog(QDialog, Ui_TransferMoneyDialog): if self.radio_contact.isChecked(): index = self.combo_contact.currentIndex() - recipient = self.sender.contacts[index].pubkey + recipient = self.account.contacts[index].pubkey else: recipient = self.edit_pubkey.text() amount = self.spinbox_amount.value() @@ -66,7 +72,7 @@ class TransferMoneyDialog(QDialog, Ui_TransferMoneyDialog): return try: - self.wallet.send_money(self.sender.salt, password, self.community, + self.wallet.send_money(self.account.salt, password, self.community, recipient, amount, comment) QMessageBox.information(self, "Money transfer", "Success transfering {0} {1} to {2}".format(amount, @@ -88,7 +94,7 @@ Please try again later""") return except Exception as e: QMessageBox.critical(self, "Error", - "{0}".format(e), + "{0}".format(str(e)), QMessageBox.Ok) return super().accept() @@ -108,11 +114,11 @@ Please try again later""") self.spinbox_amount.blockSignals(False) def change_current_community(self, index): - self.community = self.sender.communities[index] + self.community = self.account.communities[index] self.dividend = self.community.dividend amount = self.wallet.value(self.community) - ref_amount = self.sender.units_to_ref(amount, self.community) - ref_name = self.sender.ref_name(self.community.currency) + ref_amount = self.account.units_to_ref(amount, self.community) + ref_name = self.account.ref_name(self.community.currency) self.label_total.setText("{0} {1}".format(ref_amount, ref_name)) self.spinbox_amount.setSuffix(" " + self.community.currency) self.spinbox_amount.setValue(0) @@ -122,10 +128,10 @@ Please try again later""") self.spinbox_relative.setMaximum(relative) def change_displayed_wallet(self, index): - self.wallet = self.sender.wallets[index] + self.wallet = self.account.wallets[index] amount = self.wallet.value(self.community) - ref_amount = self.sender.units_to_ref(amount, self.community) - ref_name = self.sender.ref_name(self.community.currency) + ref_amount = self.account.units_to_ref(amount, self.community) + ref_name = self.account.ref_name(self.community.currency) self.label_total.setText("{0} {1}".format(ref_amount, ref_name)) self.spinbox_amount.setValue(0) amount = self.wallet.value(self.community)