mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-02-25 18:45:27 -06:00
Expand some code for Spectre import.
This commit is contained in:
parent
2e495c38d1
commit
87dae6ea18
@ -130,6 +130,7 @@ class SpectreConfigurator implements ConfiguratorInterface
|
||||
switch ($stage) {
|
||||
case 'has-token':
|
||||
// redirect to Spectre.
|
||||
Log::info('User is being redirected to Spectre.');
|
||||
return 'import.spectre.redirect';
|
||||
break;
|
||||
case 'have-accounts':
|
||||
|
@ -315,7 +315,12 @@ class SpectreRoutine implements RoutineInterface
|
||||
}
|
||||
}
|
||||
if (is_null($final)) {
|
||||
throw new FireflyException('No valid login attempt found.');
|
||||
Log::error('Could not find a valid login for this user.');
|
||||
$this->repository->addError($this->job, 0, 'Spectre connection failed. Did you use invalid credentials, press Cancel or failed the 2FA challenge?');
|
||||
$this->repository->setTotalSteps($this->job, 1);
|
||||
$this->repository->setStepsDone($this->job, 1);
|
||||
$this->repository->setStatus($this->job,'error');
|
||||
return;
|
||||
}
|
||||
|
||||
// add some steps done
|
||||
@ -457,6 +462,7 @@ class SpectreRoutine implements RoutineInterface
|
||||
// update job:
|
||||
$this->job->status = 'finished';
|
||||
$this->job->save();
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -42,6 +42,20 @@ class ImportJobRepository implements ImportJobRepositoryInterface
|
||||
/** @var User */
|
||||
private $user;
|
||||
|
||||
/**
|
||||
* @param ImportJob $job
|
||||
* @param int $index
|
||||
* @param string $error
|
||||
*
|
||||
* @return ImportJob
|
||||
*/
|
||||
public function addError(ImportJob $job, int $index, string $error): ImportJob
|
||||
{
|
||||
$job->addError($index, $error);
|
||||
|
||||
return $job;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param ImportJob $job
|
||||
* @param int $steps
|
||||
@ -277,6 +291,46 @@ class ImportJobRepository implements ImportJobRepositoryInterface
|
||||
return $job;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param ImportJob $job
|
||||
* @param string $status
|
||||
*
|
||||
* @return ImportJob
|
||||
*/
|
||||
public function setStatus(ImportJob $job, string $status): ImportJob
|
||||
{
|
||||
$job->status = $status;
|
||||
$job->save();
|
||||
|
||||
return $job;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param ImportJob $job
|
||||
* @param int $count
|
||||
*
|
||||
* @return ImportJob
|
||||
*/
|
||||
public function setStepsDone(ImportJob $job, int $steps): ImportJob
|
||||
{
|
||||
$job->setStepsDone($steps);
|
||||
|
||||
return $job;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param ImportJob $job
|
||||
* @param int $count
|
||||
*
|
||||
* @return ImportJob
|
||||
*/
|
||||
public function setTotalSteps(ImportJob $job, int $count): ImportJob
|
||||
{
|
||||
$job->setTotalSteps($count);
|
||||
|
||||
return $job;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param User $user
|
||||
*/
|
||||
@ -311,30 +365,4 @@ class ImportJobRepository implements ImportJobRepositoryInterface
|
||||
{
|
||||
return $job->uploadFileContents();
|
||||
}
|
||||
|
||||
/**
|
||||
* @param ImportJob $job
|
||||
* @param int $count
|
||||
*
|
||||
* @return ImportJob
|
||||
*/
|
||||
public function setStepsDone(ImportJob $job, int $steps): ImportJob
|
||||
{
|
||||
$job->setStepsDone($steps);
|
||||
|
||||
return $job;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param ImportJob $job
|
||||
* @param int $count
|
||||
*
|
||||
* @return ImportJob
|
||||
*/
|
||||
public function setTotalSteps(ImportJob $job, int $count): ImportJob
|
||||
{
|
||||
$job->setTotalSteps($count);
|
||||
|
||||
return $job;
|
||||
}
|
||||
}
|
||||
|
@ -32,6 +32,15 @@ use Symfony\Component\HttpFoundation\File\UploadedFile;
|
||||
interface ImportJobRepositoryInterface
|
||||
{
|
||||
|
||||
/**
|
||||
* @param ImportJob $job
|
||||
* @param int $index
|
||||
* @param string $error
|
||||
*
|
||||
* @return ImportJob
|
||||
*/
|
||||
public function addError(ImportJob $job, int $index, string $error): ImportJob;
|
||||
|
||||
/**
|
||||
* @param ImportJob $job
|
||||
* @param int $steps
|
||||
@ -113,6 +122,14 @@ interface ImportJobRepositoryInterface
|
||||
*/
|
||||
public function setExtendedStatus(ImportJob $job, array $array): ImportJob;
|
||||
|
||||
/**
|
||||
* @param ImportJob $job
|
||||
* @param string $status
|
||||
*
|
||||
* @return ImportJob
|
||||
*/
|
||||
public function setStatus(ImportJob $job, string $status): ImportJob;
|
||||
|
||||
/**
|
||||
* @param ImportJob $job
|
||||
* @param int $count
|
||||
|
5
public/js/ff/import/status.js
vendored
5
public/js/ff/import/status.js
vendored
@ -118,13 +118,12 @@ function reportOnJobStatus(data) {
|
||||
// show text:
|
||||
$('#import-status-more-info').html(data.finishedText);
|
||||
break;
|
||||
case "errored":
|
||||
// TODO this view is not yet used.
|
||||
case "error":
|
||||
// hide all possible boxes:
|
||||
$('.statusbox').hide();
|
||||
|
||||
// fill in some details:
|
||||
var errorMessage = data.error_message;
|
||||
var errorMessage = data.errors.join(", ");
|
||||
|
||||
$('.fatal_error_txt').text(errorMessage);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user