Lots of new code for the import routine part 2

This commit is contained in:
James Cole
2017-12-16 17:19:10 +01:00
parent 84b6708260
commit 66ee382da0
32 changed files with 351 additions and 226 deletions

View File

@@ -9,6 +9,8 @@ use FireflyIII\Http\Controllers\Controller;
use FireflyIII\Import\Configuration\ConfiguratorInterface;
use FireflyIII\Models\ImportJob;
use FireflyIII\Repositories\ImportJob\ImportJobRepositoryInterface;
use Illuminate\Http\Request;
use Log;
/**
* Class ConfigurationController
@@ -53,8 +55,9 @@ class ConfigurationController extends Controller
if ($configurator->isJobConfigured()) {
$this->repository->updateStatus($job, 'configured');
return redirect(route('import.file.status', [$job->key]));
return redirect(route('import.status', [$job->key]));
}
$this->repository->updateStatus($job, 'configuring');
$view = $configurator->getNextView();
$data = $configurator->getNextData();
$subTitle = trans('firefly.import_config_bread_crumb');
@@ -63,6 +66,36 @@ class ConfigurationController extends Controller
return view($view, compact('data', 'job', 'subTitle', 'subTitleIcon'));
}
/**
* @param Request $request
* @param ImportJob $job
*
* @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector
* @throws FireflyException
*/
public function post(Request $request, ImportJob $job)
{
Log::debug('Now in postConfigure()', ['job' => $job->key]);
$configurator = $this->makeConfigurator($job);
// is the job already configured?
if ($configurator->isJobConfigured()) {
return redirect(route('import.status', [$job->key]));
}
$data = $request->all();
$configurator->configureJob($data);
// get possible warning from configurator:
$warning = $configurator->getWarningMessage();
if (strlen($warning) > 0) {
$request->session()->flash('warning', $warning);
}
// return to configure
return redirect(route('import.configure', [$job->key]));
}
/**
* @param ImportJob $job
*
@@ -76,7 +109,7 @@ class ConfigurationController extends Controller
$key = sprintf('import.configuration.%s', $type);
$className = config($key);
if (null === $className || !class_exists($className)) {
throw new FireflyException(sprintf('Cannot find configurator class for job of type "%s".',$type)); // @codeCoverageIgnore
throw new FireflyException(sprintf('Cannot find configurator class for job of type "%s".', $type)); // @codeCoverageIgnore
}
/** @var ConfiguratorInterface $configurator */
$configurator = app($className);

View File

@@ -81,7 +81,7 @@ class FileController extends Controller
if ($configurator->isJobConfigured()) {
$this->repository->updateStatus($job, 'configured');
return redirect(route('import.file.status', [$job->key]));
return redirect(route('import.status', [$job->key]));
}
$view = $configurator->getNextView();
$data = $configurator->getNextData();
@@ -227,6 +227,7 @@ class FileController extends Controller
* @param ImportJob $job
*
* @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector
* @throws FireflyException
*/
public function postConfigure(Request $request, ImportJob $job)
{
@@ -235,7 +236,7 @@ class FileController extends Controller
// is the job already configured?
if ($configurator->isJobConfigured()) {
return redirect(route('import.file.status', [$job->key]));
return redirect(route('import.status', [$job->key]));
}
$data = $request->all();
$configurator->configureJob($data);
@@ -248,7 +249,7 @@ class FileController extends Controller
}
// return to configure
return redirect(route('import.file.configure', [$job->key]));
return redirect(route('import.configure', [$job->key]));
}
/**
@@ -285,7 +286,7 @@ class FileController extends Controller
$subTitle = trans('firefly.import_status_sub_title');
$subTitleIcon = 'fa-star';
return view('import.file.status', compact('job', 'subTitle', 'subTitleIcon'));
return view('import.status', compact('job', 'subTitle', 'subTitleIcon'));
}
/**

View File

@@ -40,6 +40,7 @@ class IndexController extends Controller
*
* @param string $bank
*
* @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector
* @throws FireflyException
*/
public function create(string $bank)

View File

@@ -0,0 +1,15 @@
<?php
declare(strict_types=1);
namespace FireflyIII\Http\Controllers\Import;
use FireflyIII\Http\Controllers\Controller;
/**
* Class StatusController
*/
class StatusController extends Controller
{
}