mirror of
https://github.com/nextcloud/passman.git
synced 2025-02-01 04:07:52 +08:00
Fix editing shared credentials
This commit is contained in:
parent
0d08902429
commit
4ecbcd9efa
2 changed files with 26 additions and 19 deletions
|
@ -133,7 +133,7 @@ class CredentialController extends ApiController {
|
||||||
'delete_time' => $delete_time,
|
'delete_time' => $delete_time,
|
||||||
'hidden' => $hidden,
|
'hidden' => $hidden,
|
||||||
'otp' => $otp,
|
'otp' => $otp,
|
||||||
'shared_key' => ($shared_key === null) ? '' : $shared_key,
|
'shared_key' => ($storedCredential->getSharedKey() === null) ? $shared_key : $storedCredential->getSharedKey(),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -214,30 +214,37 @@ angular.module('passmanApp')
|
||||||
//@TODO validation
|
//@TODO validation
|
||||||
//@TODO When credential is expired and has renew interval set, calc new expire time.
|
//@TODO When credential is expired and has renew interval set, calc new expire time.
|
||||||
delete $scope.storedCredential.password_repeat;
|
delete $scope.storedCredential.password_repeat;
|
||||||
|
console.log($scope.storedCredential);
|
||||||
|
if(!$scope.storedCredential.credential_id){
|
||||||
|
$scope.storedCredential.vault_id = $scope.active_vault.vault_id;
|
||||||
|
CredentialService.createCredential($scope.storedCredential).then(function (result) {
|
||||||
|
$location.path('/vault/' + $routeParams.vault_id);
|
||||||
|
NotificationService.showNotification('Credential created!', 5000)
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
|
||||||
if ($scope.storedCredential.hasOwnProperty('acl')) {
|
var key, _credential;
|
||||||
var enc_key = EncryptService.decryptString(angular.copy($scope.storedCredential.acl.shared_key));
|
if(!$scope.storedCredential.hasOwnProperty('acl') && $scope.storedCredential.hasOwnProperty('shared_key')){
|
||||||
var _credential = ShareService.encryptSharedCredential($scope.storedCredential, enc_key);
|
key = EncryptService.decryptString(angular.copy($scope.storedCredential.shared_key));
|
||||||
|
}
|
||||||
|
if($scope.storedCredential.hasOwnProperty('acl')){
|
||||||
|
key = EncryptService.decryptString(angular.copy($scope.storedCredential.acl.shared_key));
|
||||||
|
}
|
||||||
|
if(key){
|
||||||
|
_credential = ShareService.encryptSharedCredential($scope.storedCredential, key);
|
||||||
|
} else {
|
||||||
|
_credential = angular.copy($scope.storedCredential);
|
||||||
|
}
|
||||||
delete _credential.shared_key;
|
delete _credential.shared_key;
|
||||||
CredentialService.updateCredential(_credential, true).then(function (result) {
|
var _useKey = (key != null);
|
||||||
|
console.log(_credential);
|
||||||
|
//Used in activity
|
||||||
|
|
||||||
|
CredentialService.updateCredential(_credential, _useKey).then(function (result) {
|
||||||
SettingsService.setSetting('edit_credential', null);
|
SettingsService.setSetting('edit_credential', null);
|
||||||
$location.path('/vault/' + $routeParams.vault_id);
|
$location.path('/vault/' + $routeParams.vault_id);
|
||||||
NotificationService.showNotification('Credential updated!', 5000)
|
NotificationService.showNotification('Credential updated!', 5000)
|
||||||
})
|
})
|
||||||
} else {
|
|
||||||
if (!$scope.storedCredential.credential_id) {
|
|
||||||
$scope.storedCredential.vault_id = $scope.active_vault.vault_id;
|
|
||||||
CredentialService.createCredential($scope.storedCredential).then(function (result) {
|
|
||||||
$location.path('/vault/' + $routeParams.vault_id);
|
|
||||||
NotificationService.showNotification('Credential created!', 5000)
|
|
||||||
})
|
|
||||||
} else {
|
|
||||||
CredentialService.updateCredential($scope.storedCredential).then(function (result) {
|
|
||||||
SettingsService.setSetting('edit_credential', null);
|
|
||||||
$location.path('/vault/' + $routeParams.vault_id);
|
|
||||||
NotificationService.showNotification('Credential updated!', 5000)
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue