mirror of
				https://github.com/nextcloud/passman.git
				synced 2025-10-28 06:15:55 +08:00 
			
		
		
		
	Added proper returnvalue to updatemethod of credentials and add the resulting value to the list if it does not exist or replace it if it exists
Fixed Nullpointer on listadd Signed-off-by: Felix Nüsse <Felix.nuesse@t-online.de>
This commit is contained in:
		
							parent
							
								
									abaedc1e38
								
							
						
					
					
						commit
						ea23930352
					
				
					 3 changed files with 26 additions and 5 deletions
				
			
		|  | @ -269,6 +269,16 @@ class CredentialController extends ApiController { | ||||||
| 
 | 
 | ||||||
| 		$credential = $this->credentialService->updateCredential($credential); | 		$credential = $this->credentialService->updateCredential($credential); | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
|  |         //fetch the proper credentialelement, the returned element from createCredential is not usable in the frontend.
 | ||||||
|  |         $credentials = $this->credentialService->getCredentialsByVaultId($vault_id, $this->userId); | ||||||
|  |         foreach ($credentials as &$value) { | ||||||
|  |             if($value->getGuid() == $credential->getGuid()){ | ||||||
|  |                 return new JSONResponse($value); | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         //return old value as fallback
 | ||||||
| 		return new JSONResponse($credential); | 		return new JSONResponse($credential); | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -319,7 +319,6 @@ | ||||||
| 				}; | 				}; | ||||||
| 
 | 
 | ||||||
|                 $rootScope.$on('push_decrypted_credential_to_list', function () { |                 $rootScope.$on('push_decrypted_credential_to_list', function () { | ||||||
|                     $scope.active_vault = $rootScope.vaultCache[$scope.active_vault.guid]; |  | ||||||
|                     $rootScope.$broadcast('credentials_loaded'); |                     $rootScope.$broadcast('credentials_loaded'); | ||||||
|                 }); |                 }); | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -317,8 +317,6 @@ | ||||||
| 							$location.path('/vault/' + $routeParams.vault_id); | 							$location.path('/vault/' + $routeParams.vault_id); | ||||||
| 							NotificationService.showNotification($translate.instant('credential.created'), 5000); | 							NotificationService.showNotification($translate.instant('credential.created'), 5000); | ||||||
| 
 | 
 | ||||||
|                             console.log("new cred"); |  | ||||||
|                             console.log(new_cred); |  | ||||||
|                             $scope.updateExistingListWithCredential(new_cred); |                             $scope.updateExistingListWithCredential(new_cred); | ||||||
| 						}); | 						}); | ||||||
| 
 | 
 | ||||||
|  | @ -349,11 +347,13 @@ | ||||||
| 						if(_credential.description && _credential.description !== "") { | 						if(_credential.description && _credential.description !== "") { | ||||||
| 							_credential.description = _credential.description.replace(regex, ""); | 							_credential.description = _credential.description.replace(regex, ""); | ||||||
| 						} | 						} | ||||||
| 						CredentialService.updateCredential(_credential, _useKey).then(function () { | 						CredentialService.updateCredential(_credential, _useKey).then(function (updated_cred) { | ||||||
|               				$scope.saving = false; |               				$scope.saving = false; | ||||||
| 							SettingsService.setSetting('edit_credential', null); | 							SettingsService.setSetting('edit_credential', null); | ||||||
| 							$location.path('/vault/' + $routeParams.vault_id); | 							$location.path('/vault/' + $routeParams.vault_id); | ||||||
| 							NotificationService.showNotification($translate.instant('credential.updated'), 5000); | 							NotificationService.showNotification($translate.instant('credential.updated'), 5000); | ||||||
|  | 
 | ||||||
|  |                             $scope.updateExistingListWithCredential(updated_cred); | ||||||
| 						}); | 						}); | ||||||
| 					} | 					} | ||||||
| 
 | 
 | ||||||
|  | @ -369,7 +369,19 @@ | ||||||
|                         } |                         } | ||||||
|                         credential.tags_raw = credential.tags; |                         credential.tags_raw = credential.tags; | ||||||
| 
 | 
 | ||||||
|                         $rootScope.vaultCache[$scope.active_vault.guid].credentials.push(credential); | 
 | ||||||
|  |                         var found=false; | ||||||
|  |                         var credList=$rootScope.vaultCache[$scope.active_vault.guid].credentials; | ||||||
|  |                         for (var i = 0; i < credList.length; i++) { | ||||||
|  | 							if(credList[i].credential_id==credential.credential_id){ | ||||||
|  |                                 $rootScope.vaultCache[$scope.active_vault.guid].credentials[i]=credential; | ||||||
|  |                                 found=true; | ||||||
|  | 							} | ||||||
|  |                         } | ||||||
|  | 
 | ||||||
|  |                         if(!found){ | ||||||
|  |                             $rootScope.vaultCache[$scope.active_vault.guid].credentials.push(credential); | ||||||
|  | 						} | ||||||
|                         $rootScope.$broadcast('push_decrypted_credential_to_list', credential); |                         $rootScope.$broadcast('push_decrypted_credential_to_list', credential); | ||||||
| 
 | 
 | ||||||
|                     } catch (e) { |                     } catch (e) { | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue