diff --git a/app/controllers/index.js b/app/controllers/index.js index 6d0195c..5b0727e 100644 --- a/app/controllers/index.js +++ b/app/controllers/index.js @@ -17,7 +17,7 @@ export default Controller.extend({ contributors: alias('model.contributors'), contributorsWithKredits: filter('contributors', function(contributor) { - return contributor.get('balance').toString() !== "0"; + return contributor.get('balance') !== 0; }), contributorsSorting: ['balance:desc'], contributorsSorted: sort('contributorsWithKredits', 'contributorsSorting'), @@ -68,7 +68,7 @@ export default Controller.extend({ this.get('contributors') .findBy('id', recipientId.toString()) - .incrementProperty('balance', amount.toNumber()); + .incrementProperty('balance', amount); }, _handleProposalVoted(proposalId, voter, totalVotes) { diff --git a/app/models/contributor.js b/app/models/contributor.js index 1c3801a..127f44f 100644 --- a/app/models/contributor.js +++ b/app/models/contributor.js @@ -1,12 +1,13 @@ import computed from 'ember-computed'; import EmberObject from 'ember-object'; +import bignumber from 'kredits-web/utils/cps/bignumber'; export default EmberObject.extend({ // Contract - id: null, + id: bignumber('idRaw', 'toString'), // TODO: Should we rename it to account like in the contract? address: null, - balance: 0, + balance: bignumber('balanceRaw', 'toNumber'), isCore: false, ipfsHash: null, diff --git a/app/models/proposal.js b/app/models/proposal.js index c52d162..88594e4 100644 --- a/app/models/proposal.js +++ b/app/models/proposal.js @@ -1,14 +1,15 @@ import EmberObject from 'ember-object'; import { alias } from 'ember-computed'; +import bignumber from 'kredits-web/utils/cps/bignumber'; export default EmberObject.extend({ // Contract - id: null, + id: bignumber('idRaw', 'toString'), creatorAddress: null, - recipientId: null, - amount: null, - votesCount: null, - votesNeeded: null, + recipientId: bignumber('recipientIdRaw', 'toString'), + amount: bignumber('amountRaw', 'toNumber'), + votesCount: bignumber('votesCountRaw', 'toNumber'), + votesNeeded: bignumber('votesNeededRaw', 'toNumber'), executed: null, ipfsHash: null, diff --git a/app/utils/cps/bignumber.js b/app/utils/cps/bignumber.js new file mode 100644 index 0000000..701eed1 --- /dev/null +++ b/app/utils/cps/bignumber.js @@ -0,0 +1,13 @@ +import computed from 'ember-computed'; + +export default function(dependentKey, converterMethod) { + return computed(dependentKey, { + get () { + return this.get(dependentKey)[converterMethod](); + }, + set (key, value) { + this.set(dependentKey, value); + return value[converterMethod](); + } + }); +}