mirror of
https://github.com/bitwarden/browser.git
synced 2025-03-02 03:41:09 +01:00
account recovery with delete
This commit is contained in:
parent
e95ede73ba
commit
2539a9c23f
13
src/app/accounts/accountsRecoverDeleteController.js
Normal file
13
src/app/accounts/accountsRecoverDeleteController.js
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
angular
|
||||||
|
.module('bit.accounts')
|
||||||
|
|
||||||
|
.controller('accountsRecoverDeleteController', function ($scope, $rootScope, apiService, $analytics) {
|
||||||
|
$scope.success = false;
|
||||||
|
|
||||||
|
$scope.submit = function (model) {
|
||||||
|
$scope.submitPromise = apiService.accounts.postDeleteRecover({ email: model.email }, function () {
|
||||||
|
$analytics.eventTrack('Started Delete Recovery');
|
||||||
|
$scope.success = true;
|
||||||
|
}).$promise;
|
||||||
|
};
|
||||||
|
});
|
36
src/app/accounts/accountsVerifyRecoverDeleteController.js
Normal file
36
src/app/accounts/accountsVerifyRecoverDeleteController.js
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
angular
|
||||||
|
.module('bit.accounts')
|
||||||
|
|
||||||
|
.controller('accountsVerifyRecoverDeleteController', function ($scope, $state, apiService, toastr, $analytics) {
|
||||||
|
if (!$state.params.userId || !$state.params.token || !$state.params.email) {
|
||||||
|
$state.go('frontend.login.info').then(function () {
|
||||||
|
toastr.error('Invalid parameters.');
|
||||||
|
});
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$scope.email = $state.params.email;
|
||||||
|
|
||||||
|
$scope.delete = function () {
|
||||||
|
if (!confirm('Are you sure you want to delete this account? This cannot be undone.')) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$scope.deleting = true;
|
||||||
|
apiService.accounts.postDeleteRecoverToken({},
|
||||||
|
{
|
||||||
|
token: $state.params.token,
|
||||||
|
userId: $state.params.userId
|
||||||
|
}, function () {
|
||||||
|
$analytics.eventTrack('Recovered Delete');
|
||||||
|
$state.go('frontend.login.info', null, { location: 'replace' }).then(function () {
|
||||||
|
toastr.success('Your account has been deleted. You can register a new account again if you like.',
|
||||||
|
'Success');
|
||||||
|
});
|
||||||
|
}, function () {
|
||||||
|
$state.go('frontend.login.info', null, { location: 'replace' }).then(function () {
|
||||||
|
toastr.error('Unable to delete account.', 'Error');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
};
|
||||||
|
});
|
39
src/app/accounts/views/accountsRecoverDelete.html
Normal file
39
src/app/accounts/views/accountsRecoverDelete.html
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
<div class="login-box">
|
||||||
|
<div class="login-logo">
|
||||||
|
<i class="fa fa-shield"></i> <b>bit</b>warden
|
||||||
|
</div>
|
||||||
|
<div class="login-box-body">
|
||||||
|
<p class="login-box-msg">Enter your email address below to recover & delete your bitwarden account.</p>
|
||||||
|
<div ng-show="success" class="text-center">
|
||||||
|
<div class="callout callout-success">
|
||||||
|
If your account exists ({{model.email}}) we've sent you an email with further instructions.
|
||||||
|
</div>
|
||||||
|
<a ui-sref="frontend.login.info">Return to log in</a>
|
||||||
|
</div>
|
||||||
|
<form name="form" ng-submit="form.$valid && submit(model)" ng-show="!success"
|
||||||
|
api-form="submitPromise">
|
||||||
|
<div class="callout callout-danger validation-errors" ng-show="form.$errors">
|
||||||
|
<h4>Errors have occurred</h4>
|
||||||
|
<ul>
|
||||||
|
<li ng-repeat="e in form.$errors">{{e}}</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="form-group has-feedback" show-errors>
|
||||||
|
<label for="email" class="sr-only">Your account email address</label>
|
||||||
|
<input type="email" id="email" name="Email" class="form-control" placeholder="Your account email address"
|
||||||
|
ng-model="model.email" required api-field />
|
||||||
|
<span class="fa fa-envelope form-control-feedback"></span>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-xs-7">
|
||||||
|
<a ui-sref="frontend.login.info">Return to log in</a>
|
||||||
|
</div>
|
||||||
|
<div class="col-xs-5">
|
||||||
|
<button type="submit" class="btn btn-primary btn-block btn-flat" ng-disabled="form.$loading">
|
||||||
|
<i class="fa fa-refresh fa-spin loading-icon" ng-show="form.$loading"></i>Submit
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
21
src/app/accounts/views/accountsVerifyRecoverDelete.html
Normal file
21
src/app/accounts/views/accountsVerifyRecoverDelete.html
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
<div class="login-box">
|
||||||
|
<div class="login-logo">
|
||||||
|
<i class="fa fa-shield"></i> <b>bit</b>warden
|
||||||
|
</div>
|
||||||
|
<div class="login-box-body">
|
||||||
|
<div ng-if="deleting">
|
||||||
|
Deleting account...
|
||||||
|
</div>
|
||||||
|
<div ng-if="!deleting">
|
||||||
|
<div class="callout callout-warning">
|
||||||
|
<h4><i class="fa fa-warning fa-fw"></i> Warning</h4>
|
||||||
|
This will permanently delete your account. This cannot be undone.
|
||||||
|
</div>
|
||||||
|
<p>
|
||||||
|
You have requested to delete your bitwarden account (<b>{{email}}</b>).
|
||||||
|
Click the button below to confirm and proceed.
|
||||||
|
</p>
|
||||||
|
<button ng-click="delete()" class="btn btn-danger btn-block btn-flat">Delete Account</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
@ -172,6 +172,8 @@
|
|||||||
<script src="app/accounts/accountsOrganizationAcceptController.js"></script>
|
<script src="app/accounts/accountsOrganizationAcceptController.js"></script>
|
||||||
<script src="app/accounts/accountsTwoFactorMethodsController.js"></script>
|
<script src="app/accounts/accountsTwoFactorMethodsController.js"></script>
|
||||||
<script src="app/accounts/accountsVerifyEmailController.js"></script>
|
<script src="app/accounts/accountsVerifyEmailController.js"></script>
|
||||||
|
<script src="app/accounts/accountsRecoverDeleteController.js"></script>
|
||||||
|
<script src="app/accounts/accountsVerifyRecoverDeleteController.js"></script>
|
||||||
|
|
||||||
<script src="app/vault/vaultModule.js"></script>
|
<script src="app/vault/vaultModule.js"></script>
|
||||||
<script src="app/vault/vaultController.js"></script>
|
<script src="app/vault/vaultController.js"></script>
|
||||||
|
Loading…
Reference in New Issue
Block a user