mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-02-25 18:45:27 -06:00
Last steps for import, in user interface.
This commit is contained in:
parent
1d58d519a0
commit
22535c0e43
@ -7,6 +7,7 @@ namespace FireflyIII\Http\Controllers\Import;
|
||||
use FireflyIII\Exceptions\FireflyException;
|
||||
use FireflyIII\Http\Controllers\Controller;
|
||||
use FireflyIII\Import\Routine\ImportRoutine;
|
||||
use FireflyIII\Import\Routine\RoutineInterface;
|
||||
use FireflyIII\Models\ImportJob;
|
||||
use FireflyIII\Repositories\ImportJob\ImportJobRepositoryInterface;
|
||||
use Illuminate\Http\Response as LaravelResponse;
|
||||
@ -126,11 +127,9 @@ class IndexController extends Controller
|
||||
if (null === $className || !class_exists($className)) {
|
||||
throw new FireflyException(sprintf('Cannot find import routine class for job of type "%s".', $type)); // @codeCoverageIgnore
|
||||
}
|
||||
var_dump($className);
|
||||
exit;
|
||||
|
||||
/** @var ImportRoutine $routine */
|
||||
$routine = app(ImportRoutine::class);
|
||||
/** @var RoutineInterface $routine */
|
||||
$routine = app($className);
|
||||
$routine->setJob($job);
|
||||
$result = $routine->run();
|
||||
|
||||
|
@ -43,7 +43,7 @@ class StatusController extends Controller
|
||||
if (!in_array($job->status, $statuses)) {
|
||||
return redirect(route('import.file.configure', [$job->key]));
|
||||
}
|
||||
$subTitle = trans('firefly.import_status_sub_title');
|
||||
$subTitle = trans('import.status_sub_title');
|
||||
$subTitleIcon = 'fa-star';
|
||||
|
||||
return view('import.status', compact('job', 'subTitle', 'subTitleIcon'));
|
||||
@ -67,7 +67,7 @@ class StatusController extends Controller
|
||||
'show_percentage' => false,
|
||||
'steps' => $job->extended_status['steps'],
|
||||
'done' => $job->extended_status['done'],
|
||||
'statusText' => trans('firefly.import_status_job_' . $job->status),
|
||||
'statusText' => trans('import.status_job_' . $job->status),
|
||||
'status' => $job->status,
|
||||
'finishedText' => '',
|
||||
];
|
||||
@ -83,7 +83,7 @@ class StatusController extends Controller
|
||||
$repository = app(TagRepositoryInterface::class);
|
||||
$tag = $repository->find($tagId);
|
||||
$result['finished'] = true;
|
||||
$result['finishedText'] = trans('firefly.import_status_finished_job', ['link' => route('tags.show', [$tag->id, 'all']), 'tag' => $tag->tag]);
|
||||
$result['finishedText'] = trans('import.status_finished_job', ['link' => route('tags.show', [$tag->id, 'all']), 'tag' => $tag->tag]);
|
||||
}
|
||||
|
||||
if ('running' === $job->status) {
|
||||
|
@ -552,14 +552,14 @@ Breadcrumbs::register(
|
||||
'import.configure',
|
||||
function (BreadCrumbGenerator $breadcrumbs, ImportJob $job) {
|
||||
$breadcrumbs->parent('import.index');
|
||||
$breadcrumbs->push(trans('firefly.import_config_sub_title', ['key' => $job->key]), route('import.configure', [$job->key]));
|
||||
$breadcrumbs->push(trans('import.config_sub_title', ['key' => $job->key]), route('import.configure', [$job->key]));
|
||||
}
|
||||
);
|
||||
Breadcrumbs::register(
|
||||
'import.status',
|
||||
function (BreadCrumbGenerator $breadcrumbs, ImportJob $job) {
|
||||
$breadcrumbs->parent('import.index');
|
||||
$breadcrumbs->push(trans('firefly.import_status_bread_crumb', ['key' => $job->key]), route('import.status', [$job->key]));
|
||||
$breadcrumbs->push(trans('import.status_bread_crumb', ['key' => $job->key]), route('import.status', [$job->key]));
|
||||
}
|
||||
);
|
||||
|
||||
|
@ -256,7 +256,7 @@ class CsvProcessor implements FileProcessorInterface
|
||||
* @var string $value
|
||||
*/
|
||||
foreach ($row as $rowIndex => $value) {
|
||||
$value = trim($value);
|
||||
$value = trim(strval($value));
|
||||
if (strlen($value) > 0) {
|
||||
$annotated = $this->annotateValue($rowIndex, $value);
|
||||
Log::debug('Annotated value', $annotated);
|
||||
|
@ -110,8 +110,10 @@ class FileRoutine implements RoutineInterface
|
||||
protected function getImportObjects(): Collection
|
||||
{
|
||||
$objects = new Collection;
|
||||
$type = $this->job->file_type;
|
||||
$class = config(sprintf('firefly.import_processors.%s', $type));
|
||||
$config = $this->job->configuration;
|
||||
$fileType = $config['file-type'];
|
||||
// will only respond to "file"
|
||||
$class = config(sprintf('import.options.file.processors.%s', $fileType));
|
||||
/** @var FileProcessorInterface $processor */
|
||||
$processor = app($class);
|
||||
$processor->setJob($this->job);
|
||||
@ -146,7 +148,7 @@ class FileRoutine implements RoutineInterface
|
||||
$repository = app(TagRepositoryInterface::class);
|
||||
$repository->setUser($this->job->user);
|
||||
$data = [
|
||||
'tag' => trans('firefly.import_with_key', ['key' => $this->job->key]),
|
||||
'tag' => trans('import.import_with_key', ['key' => $this->job->key]),
|
||||
'date' => new Carbon,
|
||||
'description' => null,
|
||||
'latitude' => null,
|
||||
|
@ -40,23 +40,6 @@ return [
|
||||
'export_formats' => [
|
||||
'csv' => 'FireflyIII\Export\Exporter\CsvExporter',
|
||||
],
|
||||
'import_formats' => [
|
||||
'csv' => 'FireflyIII\Import\Configurator\CsvConfigurator',
|
||||
'spectre' => '',
|
||||
],
|
||||
'import_processors' => [
|
||||
'csv' => 'FireflyIII\Import\FileProcessor\CsvProcessor',
|
||||
],
|
||||
'import_info' => [
|
||||
'bunq' => 'FireflyIII\Support\Import\Information\BunqInformation',
|
||||
'spectre' => 'FireflyIII\Support\Import\Information\SpectreInformation',
|
||||
'plaid' => 'FireflyIII\Support\Import\Information\PlaidInformation',
|
||||
],
|
||||
'import_transactions' => [
|
||||
'bunq' => 'FireflyIII\Support\Import\Transactions\BunqTransactions',
|
||||
'spectre' => 'FireflyIII\Support\Import\Transactions\SpectreTransactions',
|
||||
'plaid' => 'FireflyIII\Support\Import\Transactions\PlaidTransactions',
|
||||
],
|
||||
'bunq' => [
|
||||
'server' => 'https://sandbox.public.api.bunq.com',
|
||||
],
|
||||
|
@ -32,6 +32,9 @@ return [
|
||||
'file' => [
|
||||
'import_formats' => ['csv'], // mt940
|
||||
'default_import_format' => 'csv',
|
||||
'processors' => [
|
||||
'csv' => 'FireflyIII\Import\FileProcessor\CsvProcessor',
|
||||
],
|
||||
],
|
||||
],
|
||||
'default_config' => [
|
||||
|
@ -1074,7 +1074,6 @@ return [
|
||||
'import_from_bunq' => 'Import from bunq',
|
||||
'import_using_spectre' => 'Import using Spectre',
|
||||
'import_using_plaid' => 'Import using Plaid',
|
||||
'import_config_sub_title' => 'Set up your import',
|
||||
'import_config_bread_crumb' => 'Set up your import',
|
||||
|
||||
// import index page:
|
||||
@ -1082,23 +1081,6 @@ return [
|
||||
'import_index_sub_title' => 'Index',
|
||||
'import_general_index_intro' => 'Welcome to Firefly\'s import routine. There are a few ways of importing data into Firefly III, displayed here as buttons.',
|
||||
|
||||
// import status page:
|
||||
'import_status_bread_crumb' => 'Import status',
|
||||
'import_status_sub_title' => 'Import status',
|
||||
'import_status_ready_config' => 'Download configuration',
|
||||
'import_status_ready_start' => 'Start the import',
|
||||
'import_status_ready_share' => 'Please consider downloading your configuration and sharing it at the <strong><a href="https://github.com/firefly-iii/import-configurations/wiki">import configuration center</a></strong>. This will allow other users of Firefly III to import their files more easily.',
|
||||
'import_status_running_title' => 'The import is running',
|
||||
'import_status_running_placeholder' => 'Please hold for an update...',
|
||||
'import_status_errors_title' => 'Errors during the import',
|
||||
'import_status_errors_single' => 'An error has occured during the import. It does not appear to be fatal.',
|
||||
'import_status_errors_multi' => 'Some errors occured during the import. These do not appear to be fatal.',
|
||||
'import_status_finished_title' => 'Import routine finished',
|
||||
'import_status_finished_text' => 'The import routine has imported your file.',
|
||||
'import_status_finished_job' => 'The transactions imported can be found in tag <a href=":link" class="label label-success" style="font-size:100%;font-weight:normal;">:tag</a>.',
|
||||
'import_status_job_running' => 'The import is running...',
|
||||
'import_with_key' => 'Import with key \':key\'',
|
||||
|
||||
// sandstorm.io errors and messages:
|
||||
'sandstorm_not_available' => 'This function is not available when you are using Firefly III within a Sandstorm.io environment.',
|
||||
|
||||
|
@ -26,6 +26,22 @@ return [
|
||||
'status_ready_title' => 'Import is ready to start',
|
||||
'status_ready_text' => 'The import is ready to start. All the configuration you needed to do has been done. Please download the configuration file. It will help you with the import should it not go as planned. To actually run the import, you can either execute the following command in your console, or run the web-based import. Depending on your configuration, the console import will give you more feedback.',
|
||||
'status_ready_noconfig_text' => 'The import is ready to start. All the configuration you needed to do has been done. To actually run the import, you can either execute the following command in your console, or run the web-based import. Depending on your configuration, the console import will give you more feedback.',
|
||||
'status_ready_config' => 'Download configuration',
|
||||
'status_ready_start' => 'Start the import',
|
||||
'status_ready_share' => 'Please consider downloading your configuration and sharing it at the <strong><a href="https://github.com/firefly-iii/import-configurations/wiki">import configuration center</a></strong>. This will allow other users of Firefly III to import their files more easily.',
|
||||
'status_job_running' => 'The import is running.. Please wait..',
|
||||
'status_running_title' => 'The import is running',
|
||||
'status_running_placeholder' => 'Please hold for an update...',
|
||||
'status_finished_title' => 'Import routine finished',
|
||||
'status_finished_text' => 'The import routine has imported your data.',
|
||||
'status_errors_title' => 'Errors during the import',
|
||||
'status_errors_single' => 'An error has occurred during the import. It does not appear to be fatal.',
|
||||
'status_errors_multi' => 'Some errors occurred during the import. These do not appear to be fatal.',
|
||||
'status_bread_crumb' => 'Import status',
|
||||
'status_sub_title' => 'Import status',
|
||||
'config_sub_title' => 'Set up your import',
|
||||
'status_finished_job' => 'The transactions imported can be found in tag <a href=":link" class="label label-success" style="font-size:100%;font-weight:normal;">:tag</a>.',
|
||||
'import_with_key' => 'Import with key \':key\'',
|
||||
|
||||
// file: upload something:
|
||||
'file_upload_title' => 'Import setup (1/4) - Upload your file',
|
||||
|
@ -1,38 +0,0 @@
|
||||
{% extends "./layout/default" %}
|
||||
|
||||
{% block breadcrumbs %}
|
||||
{{ Breadcrumbs.renderIfExists }}
|
||||
{% endblock %}
|
||||
{% block content %}
|
||||
<div class="row">
|
||||
<div class="col-lg-12 col-md-12 col-sm-12">
|
||||
<div class="box box-default">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">{{ 'import_finished'|_ }}</h3>
|
||||
</div>
|
||||
<div class="box-body">
|
||||
<p>
|
||||
{{ 'import_finished_intro'|_ }}
|
||||
</p>
|
||||
{% if tagId > 0 %}
|
||||
<p>
|
||||
{{ trans('firefly.import_finished_text_with_link', {tag: tagId})|raw }}
|
||||
</p>
|
||||
{% else %}
|
||||
<p>
|
||||
{{ 'import_finished_text_without_link'|_ }}
|
||||
</p>
|
||||
{% endif %}
|
||||
|
||||
<p>
|
||||
{{ 'import_share_configuration'|_ }}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
{% block scripts %}
|
||||
{% endblock %}
|
||||
{% block styles %}
|
||||
{% endblock %}
|
@ -1,53 +0,0 @@
|
||||
{% extends "./layout/default" %}
|
||||
|
||||
{% block breadcrumbs %}
|
||||
{{ Breadcrumbs.renderIfExists }}
|
||||
{% endblock %}
|
||||
{% block content %}
|
||||
<div class="row">
|
||||
<div class="col-lg-12 col-md-12 col-sm-12">
|
||||
<div class="box box-default">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">{{ 'import_index_title'|_ }}</h3>
|
||||
</div>
|
||||
<div class="box-body">
|
||||
<div class="row">
|
||||
<div class="col-lg-8">
|
||||
<p>
|
||||
{{ 'import_index_intro'|_ }}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<form method="POST" action="{{ route('import.file.initialize') }}" accept-charset="UTF-8" class="form-horizontal" id="initialize"
|
||||
enctype="multipart/form-data">
|
||||
|
||||
<input name="_token" type="hidden" value="{{ csrf_token() }}">
|
||||
|
||||
<div class="col-lg-8 col-md-8 col-sm-12 col-xs-12">
|
||||
|
||||
{{ ExpandedForm.file('import_file', {helpText: 'import_index_file'|_}) }}
|
||||
{{ ExpandedForm.file('configuration_file', {helpText: 'import_index_config'|_|raw}) }}
|
||||
{{ ExpandedForm.select('import_file_type', importFileTypes, defaultImportType, {'helpText' : 'import_index_type'|_}) }}
|
||||
|
||||
<div class="form-group" id="import_file_holder">
|
||||
<label for="ffInput_submit" class="col-sm-4 control-label"> </label>
|
||||
<div class="col-sm-8">
|
||||
<button type="submit" class="btn pull-right btn-success">
|
||||
{{ ('import_index_start')|_ }}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
{% block scripts %}
|
||||
{% endblock %}
|
||||
{% block styles %}
|
||||
{% endblock %}
|
@ -1,165 +0,0 @@
|
||||
{% extends "./layout/default" %}
|
||||
|
||||
{% block breadcrumbs %}
|
||||
{{ Breadcrumbs.renderIfExists }}
|
||||
{% endblock %}
|
||||
{% block content %}
|
||||
|
||||
{# Initial display. Will refresh (and disappear almost immediately. #}
|
||||
|
||||
<div class="row status_initial statusbox">
|
||||
<div class="col-lg-8 col-lg-offset-2 col-md-12 col-sm-12">
|
||||
<div class="box box-primary">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">{{ 'import_status_wait_title'|_ }}</h3>
|
||||
</div>
|
||||
<div class="box-body">
|
||||
<p>
|
||||
{{ 'import_status_wait_text'|_ }}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{# Fatal error display. Will be shown (duh) when something goes horribly wrong. #}
|
||||
<div class="row fatal_error" style="display:none;">
|
||||
<div class="col-lg-8 col-lg-offset-2 col-md-12 col-sm-12">
|
||||
<div class="box box-danger">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">{{ 'import_status_fatal_title'|_ }}</h3>
|
||||
</div>
|
||||
<div class="box-body">
|
||||
<p>
|
||||
{{ 'import_status_fatal_text'|_ }}
|
||||
</p>
|
||||
<p class="text-danger fatal_error_txt">
|
||||
|
||||
</p>
|
||||
<p>
|
||||
{{ 'import_status_fatal_more'|_ }}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{# Box for when the job is ready to start #}
|
||||
<div class="row status_configured statusbox" style="display:none;">
|
||||
<div class="col-lg-8 col-lg-offset-2 col-md-12 col-sm-12">
|
||||
<div class="box box-primary">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">{{ 'import_status_ready_title'|_ }}</h3>
|
||||
</div>
|
||||
<div class="box-body">
|
||||
<p>
|
||||
{% if job.configuration['has-config-file'] == false %}
|
||||
This should only be visible momentarily.
|
||||
{% else %}
|
||||
{{ 'import_status_ready_text'|_ }}
|
||||
{% endif %}
|
||||
</p>
|
||||
<p>
|
||||
<code>php artisan firefly:start-import {{ job.key }}</code>
|
||||
</p>
|
||||
<div class="row">
|
||||
{% if job.configuration['has-config-file'] != false %}
|
||||
<div class="col-lg-4">
|
||||
<a href="{{ route('import.file.download', [job.key]) }}" class="btn btn-default"><i
|
||||
class="fa fa-fw fa-download"></i> {{ 'import_status_ready_config'|_ }}</a>
|
||||
</div>
|
||||
<div class="col-lg-4">
|
||||
<button class="btn btn-success start-job"><i class="fa fa-fw fa-gears"></i> {{ 'import_status_ready_start'|_ }}</button>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% if job.configuration['has-config-file'] != false %}
|
||||
<p>
|
||||
|
||||
</p>
|
||||
<p class="text-info">
|
||||
{{ 'import_status_ready_share'|_ }}
|
||||
</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{# Box for when the job is running! #}
|
||||
<div class="row status_running statusbox" style="display: none;">
|
||||
<div class="col-lg-8 col-lg-offset-2 col-md-12 col-sm-12">
|
||||
<div class="box box-primary">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title" id="import-status-title">{{ 'import_status_running_title'|_ }}</h3>
|
||||
</div>
|
||||
<div class="box-body">
|
||||
<div id="import-status-holder">
|
||||
<div class="progress" id="import-status-holder">
|
||||
<div id="import-status-bar" class="progress-bar progress-bar-info active progress-bar-striped" role="progressbar"
|
||||
aria-valuenow="100" aria-valuemin="0"
|
||||
aria-valuemax="100" style="width: 100%;min-width:40px;">
|
||||
</div>
|
||||
</div>
|
||||
<p id="import-status-txt">{{ 'import_status_running_placeholder'|_ }}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{# displays the finished status of the import #}
|
||||
<div class="row status_finished statusbox" style="display:none;">
|
||||
<div class="col-lg-8 col-lg-offset-2 col-md-12 col-sm-12">
|
||||
<div class="box box-default">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">{{ 'import_status_finished_title'|_ }}</h3>
|
||||
</div>
|
||||
<div class="box-body">
|
||||
<p id="import-status-intro">
|
||||
{{ 'import_status_finished_text'|_ }}
|
||||
</p>
|
||||
<p id="import-status-more-info"></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{# box to show error information. #}
|
||||
<div class="row info_errors" style="display:none;">
|
||||
<div class="col-lg-8 col-lg-offset-2 col-md-12 col-sm-12">
|
||||
<div class="box box-danger">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">{{ 'import_status_errors_title'|_ }}</h3>
|
||||
</div>
|
||||
<div class="box-body">
|
||||
<p id="import-status-error-intro">
|
||||
</p>
|
||||
<div id="import-status-error-list"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
{% block scripts %}
|
||||
<script type="text/javascript">
|
||||
|
||||
// some useful translations.
|
||||
var langImportSingleError = '{{ trans('firefly.import_status_errors_single')|escape('js') }}';
|
||||
var langImportMultiError = '{{ trans('firefly.import_status_errors_multi')|escape('js') }}';
|
||||
|
||||
var jobKey = '{{ job.key }}';
|
||||
var jobImportUrl = '{{ route('import.file.json', [job.key]) }}';
|
||||
var jobStartUrl = '{{ route('import.file.start', [job.key]) }}';
|
||||
var token = '{{ csrf_token() }}';
|
||||
{% if job.configuration['auto-start'] == true %}
|
||||
var autoStart = true;
|
||||
{% else %}
|
||||
var autoStart = false;
|
||||
{% endif %}
|
||||
</script>
|
||||
<script type="text/javascript" src="js/ff/import/status.js?v={{ FF_VERSION }}"></script>
|
||||
{% endblock %}
|
||||
{% block styles %}
|
||||
{% endblock %}
|
@ -65,11 +65,11 @@
|
||||
{% if job.configuration['has-config-file'] != false %}
|
||||
<div class="col-lg-4">
|
||||
<a href="{{ route('import.download', [job.key]) }}" class="btn btn-default"><i
|
||||
class="fa fa-fw fa-download"></i> {{ 'import_status_ready_config'|_ }}</a>
|
||||
class="fa fa-fw fa-download"></i> {{ trans('import.status_ready_config') }}</a>
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="col-lg-4">
|
||||
<button class="btn btn-success start-job"><i class="fa fa-fw fa-gears"></i> {{ 'import_status_ready_start'|_ }}</button>
|
||||
<button class="btn btn-success start-job"><i class="fa fa-fw fa-gears"></i> {{ trans('import.status_ready_start') }}</button>
|
||||
</div>
|
||||
</div>
|
||||
{% if job.configuration['has-config-file'] != false %}
|
||||
@ -77,7 +77,7 @@
|
||||
|
||||
</p>
|
||||
<p class="text-info">
|
||||
{{ 'import_status_ready_share'|_ }}
|
||||
{{ trans('import.status_ready_share')|raw }}
|
||||
</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
@ -90,7 +90,7 @@
|
||||
<div class="col-lg-8 col-lg-offset-2 col-md-12 col-sm-12">
|
||||
<div class="box box-primary">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title" id="import-status-title">{{ 'import_status_running_title'|_ }}</h3>
|
||||
<h3 class="box-title" id="import-status-title">{{ trans('import.status_running_title') }}</h3>
|
||||
</div>
|
||||
<div class="box-body">
|
||||
<div id="import-status-holder">
|
||||
@ -100,7 +100,7 @@
|
||||
aria-valuemax="100" style="width: 100%;min-width:40px;">
|
||||
</div>
|
||||
</div>
|
||||
<p id="import-status-txt">{{ 'import_status_running_placeholder'|_ }}</p>
|
||||
<p id="import-status-txt">{{ trans('import.status_running_placeholder') }}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -112,11 +112,11 @@
|
||||
<div class="col-lg-8 col-lg-offset-2 col-md-12 col-sm-12">
|
||||
<div class="box box-default">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">{{ 'import_status_finished_title'|_ }}</h3>
|
||||
<h3 class="box-title">{{ trans('import.status_finished_title') }}</h3>
|
||||
</div>
|
||||
<div class="box-body">
|
||||
<p id="import-status-intro">
|
||||
{{ 'import_status_finished_text'|_ }}
|
||||
{{ trans('import.status_finished_text') }}
|
||||
</p>
|
||||
<p id="import-status-more-info"></p>
|
||||
</div>
|
||||
@ -129,7 +129,7 @@
|
||||
<div class="col-lg-8 col-lg-offset-2 col-md-12 col-sm-12">
|
||||
<div class="box box-danger">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">{{ 'import_status_errors_title'|_ }}</h3>
|
||||
<h3 class="box-title">{{ trans('import.status_errors_title') }}</h3>
|
||||
</div>
|
||||
<div class="box-body">
|
||||
<p id="import-status-error-intro">
|
||||
@ -145,8 +145,8 @@
|
||||
<script type="text/javascript">
|
||||
|
||||
// some useful translations.
|
||||
var langImportSingleError = '{{ trans('firefly.import_status_errors_single')|escape('js') }}';
|
||||
var langImportMultiError = '{{ trans('firefly.import_status_errors_multi')|escape('js') }}';
|
||||
var langImportSingleError = '{{ trans('import.status_errors_single')|escape('js') }}';
|
||||
var langImportMultiError = '{{ trans('import.status_errors_multi')|escape('js') }}';
|
||||
var jobStatusUri = '{{ route('import.status.json', [job.key]) }}';
|
||||
var jobStartUri = '{{ route('import.start', [job.key]) }}';
|
||||
var token = '{{ csrf_token() }}';
|
||||
|
Loading…
Reference in New Issue
Block a user