Last steps for import, in user interface.

This commit is contained in:
James Cole
2017-12-16 20:21:05 +01:00
parent 1d58d519a0
commit 22535c0e43
13 changed files with 44 additions and 315 deletions

View 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 %}

View File

@@ -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">&nbsp;</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 %}

View File

@@ -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>
&nbsp;
</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 %}

View File

@@ -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 @@
&nbsp;
</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() }}';