1
0
mirror of https://github.com/bitwarden/browser.git synced 2024-11-06 09:20:43 +01:00

Show file after upload and reset input

This commit is contained in:
Kyle Spearrin 2017-07-12 14:17:21 -04:00
parent 842b157955
commit f761733d0b
2 changed files with 27 additions and 14 deletions

View File

@ -15,7 +15,7 @@ angular
return unencryptedLogins; return unencryptedLogins;
}; };
_service.decryptLogin = function (encryptedLogin) { _service.decryptLogin = function (encryptedLogin, isCipher) {
if (!encryptedLogin) throw "encryptedLogin is undefined or null"; if (!encryptedLogin) throw "encryptedLogin is undefined or null";
var key = null; var key = null;
@ -32,15 +32,19 @@ angular
favorite: encryptedLogin.Favorite, favorite: encryptedLogin.Favorite,
edit: encryptedLogin.Edit, edit: encryptedLogin.Edit,
organizationUseTotp: encryptedLogin.OrganizationUseTotp, organizationUseTotp: encryptedLogin.OrganizationUseTotp,
name: cryptoService.decrypt(encryptedLogin.Name, key),
uri: encryptedLogin.Uri && encryptedLogin.Uri !== '' ? cryptoService.decrypt(encryptedLogin.Uri, key) : null,
username: encryptedLogin.Username && encryptedLogin.Username !== '' ? cryptoService.decrypt(encryptedLogin.Username, key) : null,
password: encryptedLogin.Password && encryptedLogin.Password !== '' ? cryptoService.decrypt(encryptedLogin.Password, key) : null,
notes: encryptedLogin.Notes && encryptedLogin.Notes !== '' ? cryptoService.decrypt(encryptedLogin.Notes, key) : null,
totp: encryptedLogin.Totp && encryptedLogin.Totp !== '' ? cryptoService.decrypt(encryptedLogin.Totp, key) : null,
attachments: null attachments: null
}; };
var loginData = encryptedLogin.Data || encryptedLogin;
if (loginData) {
login.name = cryptoService.decrypt(loginData.Name, key);
login.uri = loginData.Uri && loginData.Uri !== '' ? cryptoService.decrypt(loginData.Uri, key) : null;
login.username = loginData.Username && loginData.Username !== '' ? cryptoService.decrypt(loginData.Username, key) : null;
login.password = loginData.Password && loginData.Password !== '' ? cryptoService.decrypt(loginData.Password, key) : null;
login.notes = loginData.Notes && loginData.Notes !== '' ? cryptoService.decrypt(loginData.Notes, key) : null;
login.totp = loginData.Totp && loginData.Totp !== '' ? cryptoService.decrypt(loginData.Totp, key) : null;
}
if (!encryptedLogin.Attachments) { if (!encryptedLogin.Attachments) {
return login; return login;
} }
@ -69,12 +73,16 @@ angular
favorite: encryptedCipher.Favorite, favorite: encryptedCipher.Favorite,
edit: encryptedCipher.Edit, edit: encryptedCipher.Edit,
organizationUseTotp: encryptedCipher.OrganizationUseTotp, organizationUseTotp: encryptedCipher.OrganizationUseTotp,
name: _service.decryptProperty(encryptedCipher.Data.Name, key, false),
username: _service.decryptProperty(encryptedCipher.Data.Username, key, true),
password: _service.decryptProperty(encryptedCipher.Data.Password, key, true),
hasAttachments: !!encryptedCipher.Attachments && encryptedCipher.Attachments.length > 0 hasAttachments: !!encryptedCipher.Attachments && encryptedCipher.Attachments.length > 0
}; };
var loginData = encryptedCipher.Data || encryptedCipher;
if (loginData) {
login.name = cryptoService.decrypt(loginData.Name, key);
login.username = loginData.Username && loginData.Username !== '' ? cryptoService.decrypt(loginData.Username, key) : null;
login.password = loginData.Password && loginData.Password !== '' ? cryptoService.decrypt(loginData.Password, key) : null;
}
return login; return login;
}; };

View File

@ -18,7 +18,8 @@
}); });
$scope.save = function (form) { $scope.save = function (form) {
var files = document.getElementById('file').files; var fileEl = document.getElementById('file');
var files = fileEl.files;
if (!files || !files.length) { if (!files || !files.length) {
validationService.addError(form, 'file', 'Select a file.', true); validationService.addError(form, 'file', 'Select a file.', true);
return; return;
@ -31,9 +32,13 @@
return apiService.ciphers.postAttachment({ id: loginId }, fd).$promise; return apiService.ciphers.postAttachment({ id: loginId }, fd).$promise;
}).then(function (response) { }).then(function (response) {
$analytics.eventTrack('Added Attachment'); $analytics.eventTrack('Added Attachment');
toastr.success('The attachment has been saved.'); $scope.login = cipherService.decryptLogin(response);
closing = true;
$uibModalInstance.close(true); // reset file input
// ref: https://stackoverflow.com/a/20552042
fileEl.type = '';
fileEl.type = 'file';
fileEl.value = '';
}, function (err) { }, function (err) {
if (err) { if (err) {
validationService.addError(form, 'file', err, true); validationService.addError(form, 'file', err, true);