Skip to content
Snippets Groups Projects
Commit 3083eeb3 authored by inso's avatar inso
Browse files

Work on transactions tab :

- Dates change working again
- Fastening a little bit the refresh of this tab
parent 8183ce5d
No related branches found
No related tags found
No related merge requests found
...@@ -83,8 +83,41 @@ ...@@ -83,8 +83,41 @@
</hint> </hint>
</hints> </hints>
</connection> </connection>
<connection>
<sender>date_from</sender>
<signal>dateChanged(QDate)</signal>
<receiver>transactionsTabWidget</receiver>
<slot>dates_changed()</slot>
<hints>
<hint type="sourcelabel">
<x>102</x>
<y>28</y>
</hint>
<hint type="destinationlabel">
<x>199</x>
<y>149</y>
</hint>
</hints>
</connection>
<connection>
<sender>date_to</sender>
<signal>dateChanged(QDate)</signal>
<receiver>transactionsTabWidget</receiver>
<slot>dates_changed()</slot>
<hints>
<hint type="sourcelabel">
<x>297</x>
<y>28</y>
</hint>
<hint type="destinationlabel">
<x>199</x>
<y>149</y>
</hint>
</hints>
</connection>
</connections> </connections>
<slots> <slots>
<slot>history_context_menu()</slot> <slot>history_context_menu()</slot>
<slot>dates_changed()</slot>
</slots> </slots>
</ui> </ui>
...@@ -46,6 +46,8 @@ class Transfer(object): ...@@ -46,6 +46,8 @@ class Transfer(object):
assert('issuer' in metadata) assert('issuer' in metadata)
assert('amount' in metadata) assert('amount' in metadata)
assert('comment' in metadata) assert('comment' in metadata)
assert('issuer_uid' in metadata)
assert('receiver_uid' in metadata)
self.txdoc = txdoc self.txdoc = txdoc
self.state = state self.state = state
......
...@@ -10,8 +10,9 @@ from ucoinpy.documents.block import Block ...@@ -10,8 +10,9 @@ from ucoinpy.documents.block import Block
from ucoinpy.documents.transaction import InputSource, OutputSource, Transaction from ucoinpy.documents.transaction import InputSource, OutputSource, Transaction
from ucoinpy.key import SigningKey from ucoinpy.key import SigningKey
from ..tools.exceptions import NotEnoughMoneyError, NoPeerAvailable from ..tools.exceptions import NotEnoughMoneyError, NoPeerAvailable, PersonNotFoundError
from .transfer import Transfer, Received from .transfer import Transfer, Received
from .person import Person
from PyQt5.QtCore import QObject, pyqtSignal from PyQt5.QtCore import QObject, pyqtSignal
...@@ -64,11 +65,23 @@ class Cache(): ...@@ -64,11 +65,23 @@ class Cache():
receivers = [o.pubkey for o in tx.outputs receivers = [o.pubkey for o in tx.outputs
if o.pubkey != tx.issuers[0]] if o.pubkey != tx.issuers[0]]
try:
issuer_uid = Person.lookup(tx.issuers[0], community).uid
except PersonNotFoundError:
issuer_uid = ""
try:
receiver_uid = Person.lookup(receivers[0], community).uid
except PersonNotFoundError:
receiver_uid = ""
metadata = {'block': block_number, metadata = {'block': block_number,
'time': mediantime, 'time': mediantime,
'comment': tx.comment, 'comment': tx.comment,
'issuer': tx.issuers[0], 'issuer': tx.issuers[0],
'receiver': receivers[0]} 'issuer_uid': issuer_uid,
'receiver': receivers[0],
'receiver_uid': receiver_uid}
in_issuers = len([i for i in tx.issuers in_issuers = len([i for i in tx.issuers
if i == self.wallet.pubkey]) > 0 if i == self.wallet.pubkey]) > 0
...@@ -356,6 +369,16 @@ class Wallet(QObject): ...@@ -356,6 +369,16 @@ class Wallet(QObject):
key = SigningKey("{0}{1}".format(salt, self.walletid), password) key = SigningKey("{0}{1}".format(salt, self.walletid), password)
logging.debug("Sender pubkey:{0}".format(key.pubkey)) logging.debug("Sender pubkey:{0}".format(key.pubkey))
try:
issuer_uid = Person.lookup(key.pubkey, community).uid
except PersonNotFoundError:
issuer_uid = ""
try:
receiver_uid = Person.lookup(recipient, community).uid
except PersonNotFoundError:
receiver_uid = ""
metadata = {'block': block_number, metadata = {'block': block_number,
'time': time, 'time': time,
'amount': amount, 'amount': amount,
......
...@@ -9,6 +9,7 @@ from ..core.wallet import Wallet ...@@ -9,6 +9,7 @@ from ..core.wallet import Wallet
from ..core.person import Person from ..core.person import Person
from .transfer import TransferMoneyDialog from .transfer import TransferMoneyDialog
import logging
class TransactionsTabWidget(QWidget, Ui_transactionsTabWidget): class TransactionsTabWidget(QWidget, Ui_transactionsTabWidget):
""" """
...@@ -125,3 +126,13 @@ QMessageBox.Ok | QMessageBox.Cancel) ...@@ -125,3 +126,13 @@ QMessageBox.Ok | QMessageBox.Cancel)
transfer = self.sender().data() transfer = self.sender().data()
transfer.drop() transfer.drop()
self.table_history.model().invalidate() self.table_history.model().invalidate()
def dates_changed(self):
logging.debug("Changed dates")
if self.table_history.model():
ts_from = self.date_from.dateTime().toTime_t()
ts_to = self.date_to.dateTime().toTime_t()
self.table_history.model().set_period(ts_from, ts_to)
...@@ -98,7 +98,8 @@ class WalletsTabWidget(QWidget, Ui_WalletsTab): ...@@ -98,7 +98,8 @@ class WalletsTabWidget(QWidget, Ui_WalletsTab):
<tr><td align="right"><b>{:}</b></td><td>{:}</td></tr> <tr><td align="right"><b>{:}</b></td><td>{:}</td></tr>
<tr><td align="right"><b>{:}</b></td><td>{:}</td></tr> <tr><td align="right"><b>{:}</b></td><td>{:}</td></tr>
</table> </table>
""".format("Your money share : ", "{:.2f}%".format(amount/maximum*100), """.format("Your money share : ",
"{:.2f}%".format(amount/maximum*100) if maximum != 0 else "0%",
"Your part : ", "{:.2f} {:} in [{:.2f} - {:.2f}] {:}" "Your part : ", "{:.2f} {:} in [{:.2f} - {:.2f}] {:}"
.format(self.get_referential_value(amount), .format(self.get_referential_value(amount),
self.get_referential_name(), self.get_referential_name(),
......
...@@ -28,6 +28,7 @@ class TxFilterProxyModel(QSortFilterProxyModel): ...@@ -28,6 +28,7 @@ class TxFilterProxyModel(QSortFilterProxyModel):
logging.debug("Filtering from {0} to {1}".format(ts_from, ts_to)) logging.debug("Filtering from {0} to {1}".format(ts_from, ts_to))
self.ts_from = ts_from self.ts_from = ts_from
self.ts_to = ts_to self.ts_to = ts_to
self.modelReset.emit()
def filterAcceptsRow(self, sourceRow, sourceParent): def filterAcceptsRow(self, sourceRow, sourceParent):
def in_period(date_ts): def in_period(date_ts):
...@@ -55,10 +56,6 @@ class TxFilterProxyModel(QSortFilterProxyModel): ...@@ -55,10 +56,6 @@ class TxFilterProxyModel(QSortFilterProxyModel):
return self.sortOrder() == Qt.DescendingOrder return self.sortOrder() == Qt.DescendingOrder
elif right_data == "": elif right_data == "":
return self.sortOrder() == Qt.AscendingOrder return self.sortOrder() == Qt.AscendingOrder
if left_data.__class__ is Person:
left_data = left_data.uid
if right_data.__class__ is Person:
right_data = right_data.uid
return (left_data < right_data) return (left_data < right_data)
...@@ -70,11 +67,6 @@ class TxFilterProxyModel(QSortFilterProxyModel): ...@@ -70,11 +67,6 @@ class TxFilterProxyModel(QSortFilterProxyModel):
state_data = self.sourceModel().data(state_index, Qt.DisplayRole) state_data = self.sourceModel().data(state_index, Qt.DisplayRole)
if role == Qt.DisplayRole: if role == Qt.DisplayRole:
if source_index.column() == self.sourceModel().column_types.index('uid'): if source_index.column() == self.sourceModel().column_types.index('uid'):
if source_data.__class__ == Person:
tx_person = source_data.uid
else:
tx_person = "pub:{0}".format(source_data[:5])
source_data = tx_person
return source_data return source_data
if source_index.column() == self.sourceModel().column_types.index('date'): if source_index.column() == self.sourceModel().column_types.index('date'):
date = QDateTime.fromTime_t(source_data) date = QDateTime.fromTime_t(source_data)
...@@ -176,11 +168,10 @@ class HistoryTableModel(QAbstractTableModel): ...@@ -176,11 +168,10 @@ class HistoryTableModel(QAbstractTableModel):
comment = "" comment = ""
if transfer.txdoc: if transfer.txdoc:
comment = transfer.txdoc.comment comment = transfer.txdoc.comment
pubkey = transfer.metadata['issuer'] if transfer.metadata['issuer_uid'] != "":
try: sender = transfer.metadata['issuer_uid']
sender = Person.lookup(pubkey, self.community) else:
except PersonNotFoundError: sender = "pub:{0}".format(transfer.metadata['issuer'][:5])
sender = pubkey
date_ts = transfer.metadata['time'] date_ts = transfer.metadata['time']
...@@ -192,12 +183,12 @@ class HistoryTableModel(QAbstractTableModel): ...@@ -192,12 +183,12 @@ class HistoryTableModel(QAbstractTableModel):
comment = "" comment = ""
if transfer.txdoc: if transfer.txdoc:
comment = transfer.txdoc.comment comment = transfer.txdoc.comment
pubkey = transfer.metadata['receiver']
try: if transfer.metadata['receiver_uid'] != "":
receiver = Person.lookup(pubkey, self.community) receiver = transfer.metadata['receiver_uid']
except PersonNotFoundError: else:
#receiver = "pub:{0}".format(pubkey[:5]) receiver = "pub:{0}".format(transfer.metadata['receiver'][:5])
receiver = pubkey
date_ts = transfer.metadata['time'] date_ts = transfer.metadata['time']
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment