Skip to content
Snippets Groups Projects
Commit 2877a799 authored by Vincent Texier's avatar Vincent Texier
Browse files

[enh] #798 Underline transactions with special conditions in tx history

parent d5674c3d
No related branches found
No related tags found
1 merge request!778Release 0.51.0
...@@ -6,13 +6,16 @@ TX_HISTORY_REQUEST = """ ...@@ -6,13 +6,16 @@ TX_HISTORY_REQUEST = """
SELECT SELECT
transactions.ts, transactions.ts,
transactions.pubkey, transactions.pubkey,
total_amount((amount * -1), amountbase) as amount, total_amount((transactions.amount * -1), transactions.amountbase) as amount,
transactions.comment , transactions.comment ,
transactions.sha_hash, transactions.sha_hash,
transactions.written_on, transactions.written_on,
transactions.txid transactions.txid,
sources.conditions
FROM FROM
transactions transactions
LEFT JOIN sources ON sources.identifier = transactions.sha_hash and
(sources.conditions LIKE "%&&%" OR sources.conditions LIKE "%||%")
WHERE WHERE
transactions.currency = ? transactions.currency = ?
and transactions.pubkey = ? and transactions.pubkey = ?
...@@ -24,13 +27,16 @@ UNION ALL ...@@ -24,13 +27,16 @@ UNION ALL
SELECT SELECT
transactions.ts, transactions.ts,
transactions.pubkey, transactions.pubkey,
total_amount(amount, amountbase) as amount, total_amount(transactions.amount, transactions.amountbase) as amount,
transactions.comment , transactions.comment ,
transactions.sha_hash, transactions.sha_hash,
transactions.written_on, transactions.written_on,
transactions.txid transactions.txid,
sources.conditions
FROM FROM
transactions transactions
LEFT JOIN sources ON sources.identifier = transactions.sha_hash and
(sources.conditions LIKE "%&&%" OR sources.conditions LIKE "%||%")
WHERE WHERE
transactions.currency = ? transactions.currency = ?
and transactions.pubkey = ? and transactions.pubkey = ?
...@@ -42,11 +48,12 @@ UNION ALL ...@@ -42,11 +48,12 @@ UNION ALL
SELECT SELECT
dividends.timestamp as ts, dividends.timestamp as ts,
dividends.pubkey , dividends.pubkey ,
total_amount(amount, base) as amount, total_amount(dividends.amount, dividends.base) as amount,
NULL as comment, NULL as comment,
NULL as sha_hash, NULL as sha_hash,
dividends.block_number AS written_on, dividends.block_number AS written_on,
0 as txid 0 as txid,
NULL
FROM FROM
dividends dividends
WHERE WHERE
......
...@@ -39,6 +39,7 @@ class HistoryTableModel(QAbstractTableModel): ...@@ -39,6 +39,7 @@ class HistoryTableModel(QAbstractTableModel):
"block_number", "block_number",
"txhash", "txhash",
"raw_data", "raw_data",
"conditions",
) )
columns_to_sql = { columns_to_sql = {
...@@ -232,6 +233,7 @@ class HistoryTableModel(QAbstractTableModel): ...@@ -232,6 +233,7 @@ class HistoryTableModel(QAbstractTableModel):
block_number, block_number,
transfer.sha_hash, transfer.sha_hash,
transfer, transfer,
transfer.conditions,
) )
def data_sent(self, transfer): def data_sent(self, transfer):
...@@ -267,6 +269,7 @@ class HistoryTableModel(QAbstractTableModel): ...@@ -267,6 +269,7 @@ class HistoryTableModel(QAbstractTableModel):
block_number, block_number,
transfer.sha_hash, transfer.sha_hash,
transfer, transfer,
transfer.conditions,
) )
def data_dividend(self, dividend): def data_dividend(self, dividend):
...@@ -299,6 +302,7 @@ class HistoryTableModel(QAbstractTableModel): ...@@ -299,6 +302,7 @@ class HistoryTableModel(QAbstractTableModel):
block_number, block_number,
"", "",
dividend, dividend,
dividend.conditions,
) )
def init_transfers(self): def init_transfers(self):
...@@ -312,7 +316,7 @@ class HistoryTableModel(QAbstractTableModel): ...@@ -312,7 +316,7 @@ class HistoryTableModel(QAbstractTableModel):
pubkey=self.connection.pubkey, pubkey=self.connection.pubkey,
sha_hash=data[4], sha_hash=data[4],
) )
transfer.conditions = data[7]
if transfer.state != Transaction.DROPPED: if transfer.state != Transaction.DROPPED:
if data[4] == STOPLINE_HASH: if data[4] == STOPLINE_HASH:
self.transfers_data.append(self.data_stopline(transfer)) self.transfers_data.append(self.data_stopline(transfer))
...@@ -327,6 +331,7 @@ class HistoryTableModel(QAbstractTableModel): ...@@ -327,6 +331,7 @@ class HistoryTableModel(QAbstractTableModel):
pubkey=self.connection.pubkey, pubkey=self.connection.pubkey,
block_number=data[5], block_number=data[5],
) )
dividend.conditions = data[7]
self.transfers_data.append(self.data_dividend(dividend)) self.transfers_data.append(self.data_dividend(dividend))
self.endResetModel() self.endResetModel()
...@@ -334,7 +339,7 @@ class HistoryTableModel(QAbstractTableModel): ...@@ -334,7 +339,7 @@ class HistoryTableModel(QAbstractTableModel):
return len(self.transfers_data) return len(self.transfers_data)
def columnCount(self, parent): def columnCount(self, parent):
return len(HistoryTableModel.columns_types) - 6 return 4
def sort(self, main_column, order): def sort(self, main_column, order):
self.main_column_id = self.columns_types[main_column] self.main_column_id = self.columns_types[main_column]
...@@ -374,7 +379,9 @@ class HistoryTableModel(QAbstractTableModel): ...@@ -374,7 +379,9 @@ class HistoryTableModel(QAbstractTableModel):
block_data = self.transfers_data[row][ block_data = self.transfers_data[row][
HistoryTableModel.columns_types.index("block_number") HistoryTableModel.columns_types.index("block_number")
] ]
conditions_data = self.transfers_data[row][
HistoryTableModel.columns_types.index("conditions")
]
if state_data == Transaction.VALIDATED and block_data: if state_data == Transaction.VALIDATED and block_data:
current_confirmations = ( current_confirmations = (
self.blockchain_processor.current_buid(self.app.currency).number self.blockchain_processor.current_buid(self.app.currency).number
...@@ -428,6 +435,9 @@ class HistoryTableModel(QAbstractTableModel): ...@@ -428,6 +435,9 @@ class HistoryTableModel(QAbstractTableModel):
font.setItalic(True) font.setItalic(True)
else: else:
font.setItalic(False) font.setItalic(False)
# if special lock conditions on a source coming from this transaction...
if conditions_data is not None:
font.setUnderline(True)
return font return font
if role == Qt.ForegroundRole: if role == Qt.ForegroundRole:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment