From d8951caddb3dd074340ec8c29a239e90d0d3c303 Mon Sep 17 00:00:00 2001 From: Manuel Wiedenmann Date: Sun, 8 Apr 2018 00:31:07 +0200 Subject: [PATCH] Block in application route if accountNeedsUnlock The index route never gets invoked if you reload on the proposal page. That change makes sure we always initialize `ethProvider`. --- app/routes/application.js | 18 ++++++++++++++++-- app/routes/index.js | 11 ----------- 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/app/routes/application.js b/app/routes/application.js index 26d9f31..764b2eb 100644 --- a/app/routes/application.js +++ b/app/routes/application.js @@ -1,4 +1,18 @@ -import Ember from 'ember'; +import injectService from 'ember-service/inject'; +import Route from 'ember-route'; -export default Ember.Route.extend({ +export default Route.extend({ + kredits: injectService(), + + beforeModel(transition) { + const kredits = this.get('kredits'); + + return kredits.initEthProvider().then(() => { + if (kredits.get('accountNeedsUnlock')) { + if (confirm('It looks like you have an Ethereum wallet available. Please unlock your account.')) { + transition.retry(); + } + } + }); + }, }); diff --git a/app/routes/index.js b/app/routes/index.js index 57a9228..d032132 100644 --- a/app/routes/index.js +++ b/app/routes/index.js @@ -4,17 +4,6 @@ export default Ember.Route.extend({ kredits: Ember.inject.service(), - beforeModel(transition) { - const kredits = this.get('kredits'); - return kredits.initEthProvider().then(() => { - if (kredits.get('accountNeedsUnlock')) { - if (confirm('It looks like you have an Ethereum wallet available. Please unlock your account.')) { - transition.retry(); - } - } - }); - }, - model() { let newContributor = Ember.getOwner(this).lookup('model:contributor'); newContributor.set('kind', 'person');