mirror of
https://github.com/bitwarden/browser.git
synced 2024-10-10 06:08:34 +02:00
70 lines
2.6 KiB
JavaScript
70 lines
2.6 KiB
JavaScript
|
angular
|
|||
|
.module('bit.vault')
|
|||
|
|
|||
|
.controller('organizationVaultEditLoginController', function ($scope, apiService, $uibModalInstance, cryptoService,
|
|||
|
cipherService, passwordService, loginId, $analytics) {
|
|||
|
$analytics.eventTrack('organizationVaultEditLoginController', { category: 'Modal' });
|
|||
|
$scope.login = {};
|
|||
|
$scope.hideFolders = $scope.hideFavorite = true;
|
|||
|
|
|||
|
apiService.logins.getAdmin({ id: loginId }, function (login) {
|
|||
|
$scope.login = cipherService.decryptLogin(login);
|
|||
|
});
|
|||
|
|
|||
|
$scope.save = function (model) {
|
|||
|
var login = cipherService.encryptLogin(model);
|
|||
|
$scope.savePromise = apiService.logins.putAdmin({ id: loginId }, login, function (loginResponse) {
|
|||
|
$analytics.eventTrack('Edited Organization Login');
|
|||
|
var decLogin = cipherService.decryptLogin(loginResponse);
|
|||
|
$uibModalInstance.close({
|
|||
|
action: 'edit',
|
|||
|
data: decLogin
|
|||
|
});
|
|||
|
}).$promise;
|
|||
|
};
|
|||
|
|
|||
|
$scope.generatePassword = function () {
|
|||
|
if (!$scope.login.password || confirm('Are you sure you want to overwrite the current password?')) {
|
|||
|
$analytics.eventTrack('Generated Password From Edit');
|
|||
|
$scope.login.password = passwordService.generatePassword({ length: 12, special: true });
|
|||
|
}
|
|||
|
};
|
|||
|
|
|||
|
$scope.clipboardSuccess = function (e) {
|
|||
|
e.clearSelection();
|
|||
|
selectPassword(e);
|
|||
|
};
|
|||
|
|
|||
|
$scope.clipboardError = function (e, password) {
|
|||
|
if (password) {
|
|||
|
selectPassword(e);
|
|||
|
}
|
|||
|
alert('Your web browser does not support easy clipboard copying. Copy it manually instead.');
|
|||
|
};
|
|||
|
|
|||
|
function selectPassword(e) {
|
|||
|
var target = $(e.trigger).parent().prev();
|
|||
|
if (target.attr('type') === 'text') {
|
|||
|
target.select();
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
$scope.delete = function () {
|
|||
|
if (!confirm('Are you sure you want to delete this login (' + $scope.login.name + ')?')) {
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
apiService.ciphers.delAdmin({ id: $scope.login.id }, function () {
|
|||
|
$analytics.eventTrack('Deleted Organization Login From Edit');
|
|||
|
$uibModalInstance.close({
|
|||
|
action: 'delete',
|
|||
|
data: $scope.login.id
|
|||
|
});
|
|||
|
});
|
|||
|
};
|
|||
|
|
|||
|
$scope.close = function () {
|
|||
|
$uibModalInstance.dismiss('cancel');
|
|||
|
};
|
|||
|
});
|