From 0dfac71bfef3362a96ad0b99e8906cff73ee12c1 Mon Sep 17 00:00:00 2001 From: Manuel Araoz Date: Thu, 15 May 2014 16:12:43 -0300 Subject: [PATCH] always show all copayers in tx proposal list --- index.html | 4 ++-- js/models/core/TxProposals.js | 14 +++++++++++--- js/models/core/Wallet.js | 16 ++++++++++++++-- 3 files changed, 27 insertions(+), 7 deletions(-) diff --git a/index.html b/index.html index 186c92917..f6ad82170 100644 --- a/index.html +++ b/index.html @@ -342,7 +342,7 @@
-

Transactions proposals ({{txs.length}})

+

Transaction proposals ({{txs.length}})

@@ -364,7 +364,7 @@
- cId + {{cId}}
diff --git a/js/models/core/TxProposals.js b/js/models/core/TxProposals.js index bbef94908..0d291a962 100644 --- a/js/models/core/TxProposals.js +++ b/js/models/core/TxProposals.js @@ -180,8 +180,8 @@ TxProposals.prototype._mergeBuilder = function(myTxps, theirTxps, mergeInfo) { }; TxProposals.prototype.add = function(data) { - var id = data.builder.build().getNormalizedHash().toString('hex'); - this.txps[id] = new TxProposal(data); + var ntxid = data.builder.build().getNormalizedHash().toString('hex'); + this.txps[ntxid] = new TxProposal(data); }; @@ -191,12 +191,20 @@ TxProposals.prototype.setSent = function(ntxid,txid) { }; -TxProposals.prototype.getTxProposal = function(ntxid) { +TxProposals.prototype.getTxProposal = function(ntxid, copayers) { var txp = this.txps[ntxid]; var i = JSON.parse(JSON.stringify(txp)); i.builder = txp.builder; i.ntxid = ntxid; i.peerActions = {}; + + if (copayers) { + for(var j=0; j < copayers.length; j++) { + var p = copayers[j]; + i.peerActions[p] = {}; + } + } + for(var p in txp.seenBy){ i.peerActions[p]={seen: txp.seenBy[p]}; } diff --git a/js/models/core/Wallet.js b/js/models/core/Wallet.js index 3eda3de05..76a3314b2 100644 --- a/js/models/core/Wallet.js +++ b/js/models/core/Wallet.js @@ -222,12 +222,23 @@ Wallet.prototype.getOnlinePeerIDs = function() { return this.network.getOnlinePeerIDs(); }; +Wallet.prototype.getRegisteredCopayerIds = function() { + var l = this.publicKeyRing.registeredCopayers(); + var copayers = []; + for (var i = 0; i < l; i++) { + var cid = this.getCopayerId(i); + copayers.push(cid); + } + return copayers; +}; + Wallet.prototype.getRegisteredPeerIds = function() { var l = this.publicKeyRing.registeredCopayers(); if (this.registeredPeerIds.length !== l) { this.registeredPeerIds = []; + var copayers = this.getRegisteredCopayerIds(); for (var i = 0; i < l; i++) { - var cid = this.getCopayerId(i); + var cid = copayers[i]; var pid = this.network.peerFromCopayer(cid); this.registeredPeerIds.push({ peerId: pid, @@ -325,8 +336,9 @@ Wallet.prototype.generateAddress = function(isChange) { Wallet.prototype.getTxProposals = function() { var ret = []; + var copayers = this.getRegisteredCopayerIds(); for (var k in this.txProposals.txps) { - var i = this.txProposals.getTxProposal(k); + var i = this.txProposals.getTxProposal(k, copayers); i.signedByUs = i.signedBy[this.getMyCopayerId()] ? true : false; i.rejectedByUs = i.rejectedBy[this.getMyCopayerId()] ? true : false; if (this.totalCopayers - i.rejectCount < this.requiredCopayers)