Revert "remove spending password from create personal or shared"

This reverts commit 9f0698ec70.
This commit is contained in:
Kadir Sekha 2018-02-02 12:01:15 -04:00
commit c40e8ebcb1
3 changed files with 132 additions and 2 deletions

View file

@ -47,13 +47,36 @@ angular.module('copayApp.controllers').controller('createController',
$scope.showAdvChange = function() {
$scope.showAdv = !$scope.showAdv;
$scope.encrypt = null;
$scope.resizeView();
};
$scope.checkPassword = function(pw1, pw2) {
if (pw1 && pw1.length > 0) {
if (pw2 && pw2.length > 0) {
if (pw1 == pw2) $scope.result = 'correct';
else {
$scope.formData.passwordSaved = null;
$scope.result = 'incorrect';
}
} else
$scope.result = null;
} else
$scope.result = null;
};
$scope.resizeView = function() {
$timeout(function() {
$ionicScrollDelegate.resize();
}, 10);
resetPasswordFields();
};
function resetPasswordFields() {
$scope.formData.passphrase = $scope.formData.createPassphrase = $scope.formData.passwordSaved = $scope.formData.repeatPassword = $scope.result = null;
$timeout(function() {
$scope.$apply();
});
};
function updateRCSelect(n) {

View file

@ -54,6 +54,59 @@
ng-model="formData.privateKey">
</label>
<div ng-show="formData.seedSource.id == 'new' || formData.seedSource.id == 'set'">
<ion-toggle class="has-comment" ng-model="encrypt" toggle-class="toggle-positive" ng-change="resizeView()">
<span class="toggle-label" translate>Add a password</span>
</ion-toggle>
<div class="comment">
<span ng-show="formData.seedSource.id == 'new'" translate>Add an optional password to secure the recovery phrase</span>
<span ng-show="formData.seedSource.id == 'set'" translate>The recovery phrase could require a password to be imported</span>
</div>
</div>
<div class="item item-input" ng-show="encrypt">
<input ng-show="formData.seedSource.id == 'new'"
placeholder="{{'Password'|translate}}"
type="password"
autocapitalize="off"
ng-model="formData.createPassphrase"
ng-change="checkPassword(formData.createPassphrase, formData.repeatPassword)"
ng-class="{'correct': result == 'correct', 'incorrect': result == 'incorrect'}">
<input ng-show="formData.seedSource.id == 'set'"
placeholder="{{'Password'|translate}}"
type="password"
autocapitalize="off"
ng-model="formData.passphrase"
ng-change="checkPassword(formData.passphrase, formData.repeatPassword)"
ng-class="{'correct': result == 'correct', 'incorrect': result == 'incorrect'}">
</div>
<div class="item item-input" ng-show="encrypt">
<input ng-show="formData.seedSource.id == 'new'"
placeholder="{{'Repeat password'|translate}}"
type="password"
autocapitalize="off"
ng-model="formData.repeatPassword"
ng-change="checkPassword(formData.createPassphrase, formData.repeatPassword)"
ng-class="{'correct': result == 'correct', 'incorrect': result == 'incorrect'}">
<input ng-show="formData.seedSource.id == 'set'"
placeholder="{{'Repeat password'|translate}}"
type="password"
autocapitalize="off"
ng-model="formData.repeatPassword"
ng-change="checkPassword(formData.passphrase, formData.repeatPassword)"
ng-class="{'correct': result == 'correct', 'incorrect': result == 'incorrect'}">
</div>
<div class="text-center box-notification error" ng-show="(formData.seedSource.id =='new' || formData.seedSource.id =='set') && encrypt">
<strong translate>This password cannot be recovered. If the password is lost, there is no way you could recover your funds.</strong>
</div>
<ion-checkbox ng-model="formData.passwordSaved" class="checkbox-positive" ng-show="encrypt && result == 'correct'">
<span class="toggle-label" translate>I have written it down</span>
</ion-checkbox>
<label class="item item-input item-stacked-label" ng-show="formData.seedSource.id == 'set'">
<span class="input-label" translate>Derivation Path</span>
<input type="text"
@ -73,7 +126,8 @@
</div> <!-- advanced -->
</div> <!-- list -->
<button type="submit" class="button button-standard button-primary" ng-disabled="setupForm.$invalid">
<button type="submit" class="button button-standard button-primary"
ng-disabled="setupForm.$invalid || ((encrypt && !formData.passwordSaved) || encrypt && ((formData.seedSource.id == 'new' && !formData.createPassphrase) || (formData.seedSource.id == 'set' && !formData.passphrase)))">
<span translate>Create new wallet</span>
</button>
</form>

View file

@ -83,6 +83,58 @@
ng-model="formData.privateKey">
</label>
<div ng-show="formData.seedSource.id == 'new' || formData.seedSource.id == 'set'">
<ion-toggle class="has-comment" ng-model="encrypt" toggle-class="toggle-positive" ng-change="resizeView()">
<span class="toggle-label" translate>Add a password</span>
</ion-toggle>
<div class="comment">
<span ng-show="formData.seedSource.id == 'new'" translate>Add an optional password to secure the recovery phrase</span>
<span ng-show="formData.seedSource.id == 'set'" translate>The recovery phrase could require a password to be imported</span>
</div>
</div>
<div class="item item-input" ng-show="encrypt">
<input ng-show="formData.seedSource.id == 'new'"
placeholder="{{'Password'|translate}}"
type="password"
autocapitalize="off"
ng-model="formData.createPassphrase"
ng-change="checkPassword(formData.createPassphrase, formData.repeatPassword)"
ng-class="{'correct': result == 'correct', 'incorrect': result == 'incorrect'}">
<input ng-show="formData.seedSource.id == 'set'"
placeholder="{{'Password'|translate}}"
type="password"
autocapitalize="off"
ng-model="formData.passphrase"
ng-change="checkPassword(formData.passphrase, formData.repeatPassword)"
ng-class="{'correct': result == 'correct', 'incorrect': result == 'incorrect'}">
</div>
<div class="item item-input" ng-show="encrypt">
<input ng-show="formData.seedSource.id == 'new'"
placeholder="{{'Repeat password'|translate}}"
type="password"
autocapitalize="off"
ng-model="formData.repeatPassword"
ng-change="checkPassword(formData.createPassphrase, formData.repeatPassword)"
ng-class="{'correct': result == 'correct', 'incorrect': result == 'incorrect'}">
<input ng-show="formData.seedSource.id == 'set'"
placeholder="{{'Repeat password'|translate}}"
type="password"
autocapitalize="off"
ng-model="formData.repeatPassword"
ng-change="checkPassword(formData.passphrase, formData.repeatPassword)"
ng-class="{'correct': result == 'correct', 'incorrect': result == 'incorrect'}">
</div>
<div class="text-center box-notification error" ng-show="(formData.seedSource.id =='new' || formData.seedSource.id =='set') && encrypt">
<strong translate>This password cannot be recovered. If the password is lost, there is no way you could recover your funds.</strong>
</div>
<ion-checkbox ng-model="formData.passwordSaved" class="checkbox-positive" ng-show="encrypt && result == 'correct'">
<span class="toggle-label" translate>I have written it down</span>
</ion-checkbox>
<label class="item item-input item-stacked-label" ng-show="formData.seedSource.id == 'set'">
<span class="input-label" translate>Derivation Path</span>
@ -103,7 +155,8 @@
</div> <!-- advanced -->
</div> <!-- list -->
<button type="submit" class="button button-standard button-primary" ng-disabled="setupForm.$invalid">
<button type="submit" class="button button-standard button-primary"
ng-disabled="setupForm.$invalid || ((encrypt && !formData.passwordSaved) || encrypt && ((formData.seedSource.id == 'new' && !formData.createPassphrase) || (formData.seedSource.id == 'set' && !formData.passphrase)))">
<span translate>Create {{formData.requiredCopayers}}-of-{{formData.totalCopayers}} wallet</span>
</button>
</form>