catch error for using the same source and destination account in the credential mover

This commit is contained in:
binsky 2021-04-03 13:21:34 +02:00
parent 1e15710bdb
commit 11d774405b
3 changed files with 44 additions and 33 deletions

View file

@ -79,6 +79,8 @@ class AdminController extends ApiController {
}
public function moveCredentials($source_account, $destination_account) {
$succeed = false;
if ($source_account != $destination_account){
$vaults = $this->vaultService->getByUser($source_account);
foreach ($vaults as $vault) {
$credentials = $this->credentialService->getCredentialsByVaultId($vault->getId(), $source_account);
@ -110,7 +112,10 @@ class AdminController extends ApiController {
$file->setUserId($destination_account);
$this->fileService->updateFile($file);
}
return new JSONResponse(array('success' => true));
$succeed = true;
}
return new JSONResponse(array('success' => $succeed));
}
public function listRequests(){

View file

@ -174,12 +174,17 @@ $(document).ready(function () {
$(self).html('<i class="fa fa-spinner fa-spin"></i> ' + OC.L10N.translate('passman', 'Moving') + '...');
if (accountMover.source_account && accountMover.destination_account) {
$.post(OC.generateUrl('apps/passman/admin/move'), accountMover, function (data) {
if (data.success) {
$(self).removeAttr('disabled');
$(self).html('Move');
$('#moveStatus').fadeIn();
if (data.success) {
$('#moveStatusSucceeded').fadeIn();
setTimeout(function () {
$('#moveStatus').fadeOut();
$('#moveStatusSucceeded').fadeOut();
}, 3500);
} else {
$('#moveStatusFailed').fadeIn();
setTimeout(function () {
$('#moveStatusFailed').fadeOut();
}, 3500);
}
});

View file

@ -131,7 +131,8 @@ style('passman', 'vendor/font-awesome/font-awesome.min');
</tr>
</table>
<button class="success" id="move_credentials">Move</button>
<span id="moveStatus" style="display: none;"><?php p($l->t('Credentials moved!')); ?></span>
<span id="moveStatusSucceeded" style="display: none;"><?php p($l->t('Credentials moved!')); ?></span>
<span id="moveStatusFailed" style="display: none;"><?php p($l->t('An error occurred!')); ?></span>
</div>
<div id="tabs-3">